diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index 564e032e84..cf68f1900e 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-05-01 10:45\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Zadejte datum"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Zadejte datum"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Poznámky"
@@ -105,75 +105,75 @@ msgstr "Zadaná primární e-mailová adresa je neplatná."
msgid "The provided email domain is not approved."
msgstr "Zadaná e-mailová doména není povolena."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Chyba spojení"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Server odpověděl s neplatným stavovým kódem"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Došlo k výjimce"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Server odpověděl s neplatnou hodnotou Content-Length"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Velikost obrázku je příliš velká"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Stahování obrázku překročilo maximální velikost"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Vzdálený server vrátil prázdnou odpověď"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Zadaná URL adresa není platný soubor obrázku"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Nevyplněné výrobní číslo"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplicitní výrobní číslo"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Neplatný rozsah skupiny: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Rozsah skupiny {g} překračuje povolené množství ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Neplatná sekvence skupiny: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Nenalezena žádná výrobní čísla"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Počet jedinečných sériových čísel ({s}) musí odpovídat množství ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Odstranit HTML tagy z této hodnoty"
@@ -217,7 +217,7 @@ msgstr "Chybějící soubor"
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
@@ -259,11 +259,11 @@ msgstr "Komentář k souboru"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Uživatel"
@@ -298,60 +298,60 @@ msgstr "Chyba při přejmenování souboru"
#: InvenTree/models.py:581
msgid "Duplicate names cannot exist under the same parent"
-msgstr ""
+msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem"
#: InvenTree/models.py:600
msgid "Invalid choice"
msgstr "Neplatný výběr"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Název"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Popis"
@@ -364,13 +364,13 @@ msgid "parent"
msgstr "nadřazený"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Cesta"
#: InvenTree/models.py:744
msgid "Markdown notes (optional)"
-msgstr ""
+msgstr "Poznámky (volitelné)"
#: InvenTree/models.py:771
msgid "Barcode Data"
@@ -378,7 +378,7 @@ msgstr "Data čárového kódu"
#: InvenTree/models.py:772
msgid "Third party barcode data"
-msgstr ""
+msgstr "Data čárového kódu třetí strany"
#: InvenTree/models.py:777
msgid "Barcode Hash"
@@ -400,189 +400,189 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr "Server zaznamenal chybu."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Měna"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Vyberte měnu z dostupných možností"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Název souboru"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Neplatná hodnota"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Datový soubor"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Vyberte datový soubor k nahrání"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Nepodporovaný typ souboru"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Soubor je příliš velký"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "V souboru nebyly nalezeny žádné sloupce"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "V souboru nebyly nalezeny žádné řádky s daty"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Nebyly zadány žádné řádky s daty"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Nebyly zadány žádné sloupce s daty"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Chybí povinný sloupec: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicitní sloupec: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL souboru vzdáleného obrázku"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Čeština"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dánština"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Němčina"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Řečtina"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Angličtina"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Španělština"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Španělština (Mexiko)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Perština"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francouzština"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebrejština"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Maďarština"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italština"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonština"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Korejština"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Nizozemština"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norština"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polština"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugalština"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugalština (Brazilská)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Ruština"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slovinština"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Švédština"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thajština"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turečtina"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamština"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Čínština"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Kontrola procesů na pozadí se nezdařila"
@@ -627,12 +627,12 @@ msgstr "Vráceno"
#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:395
msgid "In Progress"
-msgstr ""
+msgstr "Zpracovává se"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Odesláno"
@@ -694,15 +694,15 @@ msgstr "Umístění změněno"
#: InvenTree/status_codes.py:320
msgid "Installed into assembly"
-msgstr ""
+msgstr "Nainstalováno do sestavy"
#: InvenTree/status_codes.py:321
msgid "Removed from assembly"
-msgstr ""
+msgstr "Odstraněno ze sestavy"
#: InvenTree/status_codes.py:323
msgid "Installed component item"
-msgstr ""
+msgstr "Instalovaná položka komponenty"
#: InvenTree/status_codes.py:324
msgid "Removed component item"
@@ -714,15 +714,15 @@ msgstr "Rozdělit od nadřazené položky"
#: InvenTree/status_codes.py:327
msgid "Split child item"
-msgstr ""
+msgstr "Rozdělit podřazený předmět"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
-msgstr ""
+msgstr "Sloučené položky zásob"
#: InvenTree/status_codes.py:331
msgid "Converted to variant"
-msgstr ""
+msgstr "Převedeno na variantu"
#: InvenTree/status_codes.py:333 templates/js/translated/table_filters.js:317
msgid "Sent to customer"
@@ -730,31 +730,31 @@ msgstr "Odesláno zákazníkovi"
#: InvenTree/status_codes.py:334
msgid "Returned from customer"
-msgstr ""
+msgstr "Vráceno od zákazníka"
#: InvenTree/status_codes.py:336
msgid "Build order output created"
-msgstr ""
+msgstr "Výstup objednávky byl vytvořen"
#: InvenTree/status_codes.py:337
msgid "Build order output completed"
-msgstr ""
+msgstr "Výstup objednávky sestavení dokončen"
#: InvenTree/status_codes.py:338
msgid "Consumed by build order"
-msgstr ""
+msgstr "Spotřebováno podle objednávky"
#: InvenTree/status_codes.py:340
msgid "Shipped against Sales Order"
-msgstr ""
+msgstr "Odesláno v souladu se zákaznickou objednávkou"
#: InvenTree/status_codes.py:342
msgid "Received against Purchase Order"
-msgstr ""
+msgstr "Přijato proti objednávce"
#: InvenTree/status_codes.py:344
msgid "Returned against Return Order"
-msgstr ""
+msgstr "Vráceno proti vratce"
#: InvenTree/status_codes.py:358
msgid "Production"
@@ -786,15 +786,15 @@ msgstr "Neplatný kód měny"
#: InvenTree/validators.py:87 InvenTree/validators.py:103
msgid "Overage value must not be negative"
-msgstr ""
+msgstr "Přidaná hodnota nesmí být záporná"
#: InvenTree/validators.py:105
msgid "Overage must not exceed 100%"
-msgstr ""
+msgstr "Nesmí přesáhnout 100%"
#: InvenTree/validators.py:112
msgid "Invalid value for overage"
-msgstr ""
+msgstr "Neplatná hodnota překročení"
#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
@@ -822,7 +822,7 @@ msgstr "O InvenTree"
#: build/api.py:221
msgid "Build must be cancelled before it can be deleted"
-msgstr ""
+msgstr "Sestavení musí být zrušeno před odstraněním"
#: build/models.py:68 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
@@ -837,7 +837,7 @@ msgstr "Vytvořit objednávku"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -846,49 +846,49 @@ msgstr "Vytvořené objednávky"
#: build/models.py:110
msgid "Invalid choice for parent build"
-msgstr ""
+msgstr "Neplatná volba nadřazeného sestavení"
#: build/models.py:154
msgid "Build Order Reference"
-msgstr ""
+msgstr "Referenční číslo objednávky"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
-msgstr ""
+msgstr "Reference"
#: build/models.py:166
msgid "Brief description of the build (optional)"
-msgstr ""
+msgstr "Stručný popis sestavení (nepovinné)"
#: build/models.py:174 build/templates/build/build_base.html:189
#: build/templates/build/detail.html:87
msgid "Parent Build"
-msgstr ""
+msgstr "Nadřazená sestava"
#: build/models.py:175
msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,49 +921,49 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Díl"
#: build/models.py:188
msgid "Select part to build"
-msgstr ""
+msgstr "Vyber téma, které chceš stavět"
#: build/models.py:193
msgid "Sales Order Reference"
-msgstr ""
+msgstr "Referenční číslo prodejní objednávky"
#: build/models.py:197
msgid "SalesOrder to which this build is allocated"
-msgstr ""
+msgstr "Prodejní příkaz, kterému je tato verze přidělena"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
-msgstr ""
+msgstr "Umístění lokace"
#: build/models.py:206
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr ""
+msgstr "Vyberte lokaci, ze které chcete provést inventuru pro sestavu. (nechte prázdné, chcete-li provést inventuru z libovolné lokace)"
#: build/models.py:211
msgid "Destination Location"
-msgstr ""
+msgstr "Cílová lokace"
#: build/models.py:215
msgid "Select location where the completed items will be stored"
-msgstr ""
+msgstr "Vyberte lokaci, kde budou dokončené položky uloženy"
#: build/models.py:219
msgid "Build Quantity"
-msgstr ""
+msgstr "Množství sestav"
#: build/models.py:222
msgid "Number of stock items to build"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externí odkaz"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Jméno společnosti"
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Možné zakoupit"
@@ -2225,7 +2228,7 @@ msgstr "Možné zakoupit"
msgid "Parts are purchaseable by default"
msgstr "Díly jsou zakoupitelné ve výchozím nastavení"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Prodejné"
@@ -2234,7 +2237,7 @@ msgstr "Prodejné"
msgid "Parts are salable by default"
msgstr "Díly jsou prodejné ve výchozím nastavení"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Sledovatelné"
msgid "Parts are trackable by default"
msgstr "Díly jsou sledovatelné ve výchozím nastavení"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Obrazek"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Webová stránka"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Webové stránky společnosti"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adresa"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Adresa společnosti"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefonní číslo"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Kontaktní telefonní číslo"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "E-mail"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Kontaktní e-mailová adresa"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Kontaktní místo"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "je zákazník"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Společnost"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Základní díl"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Zvolte díl"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Zvolte díl"
msgid "Manufacturer"
msgstr "Výrobce"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Vyberte výrobce"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Vyberte výrobce"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Číslo dílu výrobce"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Popis dílu výrobce"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Výrobce dílu"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Název parametru"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Hodnota"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Hodnota parametru"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Jednotky"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr "Odstranit společnost"
msgid "Delete Company"
msgstr "Odstranit společnost"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Smazat obrázek"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Zákazník"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Odstranit obrázek"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Odstranit přiřazený obrázek této společnosti"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Odstranit"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Nahrát obrázek"
@@ -3828,7 +3849,7 @@ msgstr "Dodavatelský sklad"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Odstranit"
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,15 +6793,15 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
#: part/templates/part/part_sidebar.html:30
#: templates/InvenTree/settings/sidebar.html:37
msgid "Pricing"
-msgstr ""
+msgstr "Ceník"
#: part/templates/part/part_sidebar.html:44
msgid "Scheduling"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8315,21 +8363,21 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:17
#: templates/InvenTree/settings/sidebar.html:35 templates/notifications.html:5
msgid "Notifications"
-msgstr ""
+msgstr "Oznámení"
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8708,15 +8756,15 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:9
msgid "Account"
-msgstr ""
+msgstr "Účet"
#: templates/InvenTree/settings/sidebar.html:11
msgid "Display"
-msgstr ""
+msgstr "Zobrazení"
#: templates/InvenTree/settings/sidebar.html:13
msgid "Home Page"
-msgstr ""
+msgstr "Domovská stránka"
#: templates/InvenTree/settings/sidebar.html:15
#: templates/js/translated/tables.js:563 templates/navbar.html:107
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Potvrdit"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Vybrané díly"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,109 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10944,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11023,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11120,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11225,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11237,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11501,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11581,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12317,35 +12390,35 @@ msgstr "Oprávnění"
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Nastavení oprávnění"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Skupina"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Zobrazit"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Oprávnění k zobrazení položek"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Oprávnění přidat položky"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Změnit"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Oprávnění k úpravě položek"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Oprávnění k odstranění položek"
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index 097804ef5c..5e850b2c6f 100644
--- a/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/InvenTree/locale/da/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Angiv dato"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Angiv dato"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Bemærkninger"
@@ -105,75 +105,75 @@ msgstr "Den indtastede email adresse er ikke gyldig."
msgid "The provided email domain is not approved."
msgstr "Det angivne e-mail domæne er ikke godkendt."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Forbindelsesfejl"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Serveren svarede med ugyldig statuskode"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Der opstod en fejl"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Serveren svarede med ugyldig Content-Length værdi"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Billedstørrelsen er for stor"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Billeddownload overskred maksimumstørrelsen"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Fjernserver returnerede tomt svar"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Angivet URL er ikke en gyldig billedfil"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Ugyldigt antal angivet"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Serienummer streng er tom"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplikeret serienummer"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ugyldigt gruppe-interval: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Gruppeinterval {g} overstiger det tilladte antal ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ugyldig gruppesekvens: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Ingen serienumre fundet"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Antal unikke serienumre ({s}) skal matche antal ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-tags fra denne værdi"
@@ -217,7 +217,7 @@ msgstr "Manglende fil"
msgid "Missing external link"
msgstr "Manglende eksternt link"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Vedhæftning"
msgid "Select file to attach"
msgstr "Vælg fil, der skal vedhæftes"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link til ekstern URL"
@@ -259,11 +259,11 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Bruger"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Ugyldigt valg"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Navn"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Beskrivelse"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "overordnet"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Sti"
@@ -400,189 +400,189 @@ msgstr "Serverfejl"
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Ugyldig værdi"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Vælg datafilen til upload"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Filtype ikke understøttet"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Ingen kolonner fundet i fil"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Ingen datarækker fundet i fil"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Ingen data-rækker angivet"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Ingen data-kolonner angivet"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrævet kolonne: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikeret kolonne: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL til ekstern billedfil"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tjekkisk"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Græsk"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spansk (Mexikansk)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Hollandsk"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilien)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Kinesisk"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Kontrol af baggrundstjeneste mislykkedes"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Afsendt"
@@ -716,7 +716,7 @@ msgstr "Opdel fra overordnet element"
msgid "Split child item"
msgstr "Opdel underordnet element"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Flettede lagervarer"
@@ -837,7 +837,7 @@ msgstr "Produktionsordre"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Produktionsordre reference"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Reference"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Del"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Salgsordre, som er tildelt denne produktion"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Kilde Lokation"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Produktions statuskode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batch Kode"
@@ -994,7 +994,7 @@ msgstr "Batch Kode"
msgid "Batch code for this build output"
msgstr "Batch kode til dette produktions output"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Dato for afslutning"
@@ -1018,7 +1018,7 @@ msgstr "Dato for afslutning"
msgid "completed by"
msgstr "udført af"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Udstedt af"
@@ -1030,10 +1030,10 @@ msgstr "Bruger som udstedte denne byggeordre"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Ekstern link"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN skal matche regex mønster {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Ingen serienumre fundet"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index eca7257956..c4730cdec9 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Datum eingeben"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Datum eingeben"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Notizen"
@@ -105,75 +105,75 @@ msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig."
msgid "The provided email domain is not approved."
msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Verbindungsfehler"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Server antwortete mit ungültigem Statuscode"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Ausnahme aufgetreten"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Server antwortete mit ungültigem Wert für die Inhaltslänge"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Bild ist zu groß"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Bilddownload überschreitet maximale Größe"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Remote-Server gab leere Antwort zurück"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Angegebene URL ist kein gültiges Bild"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Keine Seriennummer angegeben"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplizierter Seriennummer"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ungültiger Gruppenbereich: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Gruppenbereich {g} überschreitet die zulässige Menge ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ungültige Gruppensequenz: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Keine Seriennummern gefunden"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Entferne HTML-Tags von diesem Wert"
@@ -217,7 +217,7 @@ msgstr "Fehlende Datei"
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -259,11 +259,11 @@ msgstr "Datei-Kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Benutzer"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Ungültige Auswahl"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Name"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Beschreibung"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "Eltern"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Pfad"
@@ -400,189 +400,189 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Währung"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Währung aus verfügbaren Optionen auswählen"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Dateiname"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Ungültiger Wert"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Datendatei"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Neue Datei zum Hochladen auswählen"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Nicht unterstütztes Dateiformat"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Datei ist zu groß"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Keine Spalten in der Datei gefunden"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Keine Datensätze in der Datei gefunden"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Keine Zeilen ausgewählt"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Keine Spalten angegeben"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Erforderliche Spalte '{name}' fehlt"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Doppelte Spalte: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL der Remote-Bilddatei"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tschechisch"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dänisch"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spanisch (Mexikanisch)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Persisch"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ungarisch"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugiesisch"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slowenisch"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chinesisch"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Versendet"
@@ -716,7 +716,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Lagerartikel zusammengeführt"
@@ -837,7 +837,7 @@ msgstr "Bauauftrag"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Bauauftragsreferenz"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referenz"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Teil"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Quell-Lagerort"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Bau-Statuscode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Losnummer"
@@ -994,7 +994,7 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -1018,7 +1018,7 @@ msgstr "Fertigstellungsdatum"
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Aufgegeben von"
@@ -1030,10 +1030,10 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externer Link"
@@ -1107,7 +1110,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:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Bauauftrag"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Lagerartikel"
@@ -1143,7 +1146,7 @@ msgstr "Quell-Lagerartikel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Quell-Lagerartikel"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Quell-Lagerartikel"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Quell-Lagerartikel"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Anzahl"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Endprodukt"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Seriennummer"
@@ -1255,7 +1258,7 @@ msgstr "Seriennummern automatisch zuweisen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Lagerort"
@@ -1290,13 +1293,13 @@ msgstr "Lagerort für fertige Endprodukte"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1393,7 +1396,7 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Teil muss auf Lager sein"
@@ -1583,13 +1586,13 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Zieldatum"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Fertig"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Fertig"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Auftrag"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Aufgegeben von"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Priorität"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Bauauftrag löschen"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr "Zugewiesene Teile"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Losnummer"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Erstellt"
@@ -1716,7 +1719,7 @@ msgstr "Unter-Bauaufträge"
msgid "Allocate Stock to Build"
msgstr "Bestand Bauauftrag zuweisen"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
@@ -1810,7 +1813,7 @@ msgstr "Fertiggestellte Endprodukte"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Anhänge"
msgid "Build Notes"
msgstr "Bauauftrags-Notizen"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Zuordnung abgeschlossen"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen"
@@ -1981,7 +1984,7 @@ msgstr "Anzeige von `Über` einschränken"
msgid "Show the `about` modal only to superusers"
msgstr "Zeige das `Über` Fenster nur Administratoren"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Firmenname"
@@ -2187,7 +2190,7 @@ msgstr "Kategorie-Parametervorlage kopieren"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Vorlage"
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Baugruppe"
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponente"
@@ -2217,7 +2220,7 @@ msgstr "Komponente"
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Kaufbar"
@@ -2225,7 +2228,7 @@ msgstr "Kaufbar"
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Verkäuflich"
@@ -2234,7 +2237,7 @@ msgstr "Verkäuflich"
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Nachverfolgbar"
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt we
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Titel"
msgid "Published"
msgstr "Veröffentlicht"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
@@ -3306,7 +3309,13 @@ msgstr "Gelesen"
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Bild"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Fehler in Plugin aufgetreten"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Teile importiert"
msgid "Previous Step"
msgstr "Vorheriger Schritt"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Firmenbeschreibung"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Firmenbeschreibung"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Website"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Firmenwebsite Adresse/URL"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adresse"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Firmenadresse"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Kontakt-Tel."
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Kontakt-Telefon"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Email"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Kontakt-Email"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Anlaufstelle"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "ist Kunde"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Verkaufen Sie Teile an diese Firma?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "ist Zulieferer"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Kaufen Sie Teile von dieser Firma?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "ist Hersteller"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Basisteil"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Teil auswählen"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Teil auswählen"
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Hersteller auswählen"
msgid "MPN"
msgstr "MPN"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "Externe URL für das Herstellerteil"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Teilbeschreibung des Herstellers"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Herstellerteil"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Parametername"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Wert"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Einheiten"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Parametereinheit"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Zulieferer auswählen"
msgid "SKU"
msgstr "SKU (Lagerbestandseinheit)"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Herstellerteil auswählen"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "Teil-URL des Zulieferers"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Notiz"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Verpackungen"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Teile-Verpackungen"
msgid "Pack Quantity"
msgstr "Packmenge"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Stückmenge in einer einzelnen Verpackungseinheit"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "Vielfache"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Mehrere bestellen"
msgid "Available"
msgstr "Verfügbar"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Verfügbare Menge von Lieferanten"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Verfügbarkeit aktualisiert"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Datum des letzten Updates der Verfügbarkeitsdaten"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Standard-Währung für diesen Zulieferer"
@@ -3709,6 +3718,18 @@ msgstr "Unternehmen löschen"
msgid "Delete Company"
msgstr "Firma löschen"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Bild löschen"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Kunde"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Bild entfernen"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Verknüpftes Bild von dieser Firma entfernen"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Entfernen"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Bild hochladen"
@@ -3828,7 +3849,7 @@ msgstr "Zulieferer-Bestand"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Neue Bestellung"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Neuer Auftrag"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Zuliefererteil entfernen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Löschen"
@@ -3980,8 +4001,8 @@ msgstr "Neuer Parameter"
msgid "Delete parameters"
msgstr "Parameter löschen"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -4095,7 +4116,7 @@ msgstr "Barcode mit Zuliefererteil verknüpfen"
msgid "Update Part Availability"
msgstr "Teilverfügbarkeit aktualisieren"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "Teilverfügbarkeit aktualisieren"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -4137,78 +4158,91 @@ msgstr "Firmen"
msgid "New Company"
msgstr "Neue Firma"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Label Name"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Label Beschreibung"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Label"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Label-Vorlage-Datei"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Aktiviert"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Label-Vorlage ist aktiviert"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Breite [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Label-Breite in mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Höhe [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Label-Höhe in mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Dateinamen-Muster"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Muster für die Erstellung von Label-Dateinamen"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filter"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Gesamtpreis"
@@ -4216,7 +4250,7 @@ msgstr "Gesamtpreis"
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr "Keine passende Bestellung gefunden"
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Unbekannt"
@@ -4399,7 +4433,7 @@ msgstr "gelöscht"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Bestellung"
@@ -4421,9 +4455,9 @@ msgstr "Empfangen"
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Preis"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr "Auswahl duplizieren"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Positionen"
msgid "Received Stock"
msgstr "Empfangene Lagerartikel"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Bestellungs-Positionen"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Bestellungs-Positionen"
msgid "Add Line Item"
msgstr "Position hinzufügen"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr "Positionen löschen"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Zusätzliche Positionen"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Extra Zeile anzeigen"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Empfangene Teile"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Ausstehende Sendungen"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Aktionen"
@@ -5145,42 +5179,42 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "Teil-ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Name des Teils"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr "Beschreibung des Teils"
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Version"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "Kategorie-ID"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr "Kategoriename"
@@ -5192,11 +5226,11 @@ msgstr "Standard-Standortnummer"
msgid "Default Supplier ID"
msgstr "Standard-Lieferantennummer"
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante von"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "Auf Lager"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "Bestellt"
msgid "Used In"
msgstr "Benutzt in"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Zugeordnet"
@@ -5228,11 +5262,11 @@ msgstr "Zugeordnet"
msgid "Building"
msgstr "Im Bau"
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Minimale Kosten"
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Maximale Kosten"
@@ -5249,13 +5283,13 @@ msgstr "Name des übergeordneten Teils"
msgid "Category Path"
msgstr "Pfad zur Kategorie"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Teile"
@@ -5272,7 +5306,7 @@ msgstr "Stücklisten-Position ID"
msgid "Parent IPN"
msgstr "Übergeordnete IPN"
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "Teil IPN"
@@ -5314,17 +5348,17 @@ msgstr "Gesamte Stückliste validieren"
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Standard-Lagerort"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Gesamtbestand"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Verfügbarer Bestand"
@@ -5332,882 +5366,882 @@ msgstr "Verfügbarer Bestand"
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Strukturell"
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden."
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Symbol"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Symbol (optional)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!"
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, 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:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN muss zu Regex-Muster {pat} passen"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits"
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits."
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!"
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "Maßeinheit für diesen Teil"
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:1019
+#: part/models.py:1022
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:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr "Benutzer, der für diesen Teil verantwortlich ist"
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr "Währung für die Berechnung der Preise im Cache"
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr "Minimale Stücklisten Kosten"
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr "Minimale Kosten für Teile"
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr "Maximale Stücklisten Kosten"
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr "Maximale Kosten für Teile"
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Minimale Einkaufskosten"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr "Minimale historische Kaufkosten"
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "Maximale Einkaufskosten"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "Maximale historische Einkaufskosten"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "Minimaler interner Preis"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr "Minimale Kosten basierend auf den internen Staffelpreisen"
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "Maximaler interner Preis"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr "Maximale Kosten basierend auf internen Preisstaffeln"
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr "Minimaler Lieferantenpreis"
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr "Mindestpreis für Teil von externen Lieferanten"
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr "Maximaler Lieferantenpreis"
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr "Maximaler Preis für Teil von externen Lieferanten"
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Minimale Variantenkosten"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Berechnete minimale Kosten für Variantenteile"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Maximale Variantenkosten"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr "Berechnete maximale Kosten für Variantenteile"
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr "Berechnete Mindestkosten"
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr "Berechnete Maximalkosten"
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr "Mindestverkaufspreis"
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr "Mindestverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr "Maximaler Verkaufspreis"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr "Maximalverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr "Mindestverkaufskosten"
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr "Minimaler historischer Verkaufspreis"
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr "Maximale Verkaufskosten"
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr "Maximaler historischer Verkaufspreis"
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr "Teil für die Inventur"
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr "Stückzahl"
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur"
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur"
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Datum"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr "Datum der Inventur"
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "Zusätzliche Notizen"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr "Benutzer, der diese Inventur durchgeführt hat"
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr "Mindestbestandswert"
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr "Geschätzter Mindestwert des vorhandenen Bestands"
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr "Maximaler Bestandswert"
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr "Geschätzter Maximalwert des vorhandenen Bestands"
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "Bericht"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr "Inventur-Berichtsdatei (intern generiert)"
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr "Anzahl der Teile"
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden"
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr "Benutzer, der diesen Inventurbericht angefordert hat"
-#: part/models.py:3222
+#: part/models.py:3225
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:3239
+#: part/models.py:3242
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:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:3278
+#: part/models.py:3281
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:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:3284
+#: part/models.py:3287
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:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr "Parameter-Beschreibung"
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Wert"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Stufe"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Optional"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Verbrauchsmaterial"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)"
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "überprüft"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr "Diese Stücklistenposition wurde validiert"
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Wird vererbt"
-#: part/models.py:3621
+#: part/models.py:3624
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:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:3627
+#: part/models.py:3630
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:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden"
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Kaufwährung dieses Lagerartikels"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Originalteil"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr "Originalteil zum Duplizieren auswählen"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Bild kopieren"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Bild vom Originalteil kopieren"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Stückliste kopieren"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Stückliste vom Originalteil kopieren"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Parameter kopieren"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Parameterdaten vom Originalteil kopieren"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Start-Bestandsmenge"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt."
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr "Initialer Lagerort"
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr "Lagerstandort für dieses Teil angeben"
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)"
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr "Hersteller-Teilenummer"
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr "Ausgewählte Firma ist kein gültiger Lieferant"
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr "Ausgewählte Firma ist kein gültiger Hersteller"
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr "Herstellerteil mit dieser MPN existiert bereits"
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr "Lieferantenteil mit dieser SKU existiert bereits"
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Teil duplizieren"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr "Initiale Daten von anderem Teil kopieren"
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Initialer Lagerbestand"
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr "Erstelle Teil mit Ausgangsbestand"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr "Lieferanteninformationen"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr "Lieferanteninformationen zu diesem Teil hinzufügen"
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Kategorieparameter kopieren"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren"
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken"
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken"
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken"
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr "Bericht generieren"
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten"
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr "Teile aktualisieren"
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren"
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr "Inventur-Funktionalität ist nicht aktiviert"
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "Aktualisieren"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr "Preis für dieses Teil aktualisieren"
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr "Teil auswählen, von dem Stückliste kopiert wird"
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Bestehende Daten entfernen"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen"
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr "Vererbtes einschließen"
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden"
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Ungültige Zeilen überspringen"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr "Ersatzteile kopieren"
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren"
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Bestehende Stückliste löschen"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen"
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr "Keine Teilspalte angegeben"
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr "Mehrere übereinstimmende Teile gefunden"
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "Keine passenden Teile gefunden"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr "Teil ist nicht als Komponente angelegt"
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Menge nicht angegeben"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Ungültige Menge"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr "Mindestens eine Stückliste-Position ist erforderlich"
@@ -6220,25 +6254,25 @@ msgstr "Benachrichtigungen über geringen Bestand"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen"
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Gesamtstückzahl"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr "Gesamt-Bestandswert min"
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr "Gesamt-Bestandswert max"
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr "Inventurbericht verfügbar"
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung"
@@ -6390,7 +6424,7 @@ msgstr "Inventurinformationen hinzufügen"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Inventur"
@@ -6496,7 +6530,7 @@ msgstr "verknüpftes Teil"
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Minimaler Bestand"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "Teil-QR-Code"
msgid "Link Barcode to Part"
msgstr "Barcode mit Teil verknüpfen"
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Berechnen"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr "Verknüpftes Bild von diesem Teil entfernen"
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Keine Zulieferer-Preise verfügbar"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Stücklistenpreise"
@@ -6755,8 +6793,8 @@ msgstr "Varianten"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Bestand"
@@ -6789,7 +6827,7 @@ msgstr "Preis aktualisieren"
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -6813,7 +6851,7 @@ msgstr "Interne Preise"
msgid "Purchase History"
msgstr "Kaufhistorie"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Variantenpreise"
@@ -6821,7 +6859,7 @@ msgstr "Variantenpreise"
msgid "Overall Pricing"
msgstr "Gesamtpreise"
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Verkaufshistorie"
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr "Preisspanne für diesen Teil ist nicht verfügbar."
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Zur Übersicht gehen"
@@ -6844,11 +6882,11 @@ msgstr "Zur Übersicht gehen"
msgid "Add Internal Price Break"
msgstr "Interne Preisspanne hinzufügen"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr "Verkaufspreise"
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr "Verkaufspreisstaffel hinzufügen"
@@ -7036,7 +7074,7 @@ msgstr "Plugin-Konfiguration"
msgid "Plugin Configurations"
msgstr "Plugin-Konfigurationen"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Schlüssel"
@@ -7064,7 +7102,7 @@ msgstr "Beispiel-Plugin"
msgid "Builtin Plugin"
msgstr "Integriertes Plugin"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Plugin"
@@ -7278,7 +7316,7 @@ msgstr "Lieferant gelöscht"
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Stück-Preis"
@@ -7291,21 +7329,21 @@ msgstr "Zusätzliche Positionen"
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Summe"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Seriennummer"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Ergebnis"
@@ -7351,7 +7389,7 @@ msgstr "Verbaute Objekte"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Seriennummer"
@@ -7392,7 +7430,7 @@ msgstr "Lieferant"
msgid "Customer ID"
msgstr "Kunden ID"
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "verbaut in"
@@ -7417,398 +7455,398 @@ msgstr "Überprüfung erforderlich"
msgid "Delete on Deplete"
msgstr "Löschen wenn leer"
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Ablaufdatum"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr "Externer Standort"
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:602
+#: stock/api.py:610
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:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Bestand-Lagerort"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden."
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Extern"
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr "Dies ist ein externer Lagerort"
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!"
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!"
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden"
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:605
+#: stock/models.py:610
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:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:633
+#: stock/models.py:638
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:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Eltern-Lagerartikel"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses Lagerartikel ist gelagert in"
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:776
+#: stock/models.py:781
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:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, 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:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:1659
+#: stock/models.py:1660
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:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr "Test Notizen"
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr "Seriennummer ist zu lang"
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Kaufpreis für diesen Lagerartikel"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})"
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Seriennummern für neue Teile eingeben"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "Ziel-Bestand"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr "Optionales Notizfeld"
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Seriennummern können diesem Teil nicht zugewiesen werden"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr "Lagerartikel für Installation auswählen"
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr "Lagerartikel ist nicht verfügbar"
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr "Ausgewähltes Teil ist nicht in der Stückliste"
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr "Ziel Lagerort für unverbautes Objekt"
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr " Transaktionsnotizen hinzufügen (optional)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll"
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung"
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr "Ziel Lagerort für zurückgegebene Artikel"
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "Teil muss verkaufbar sein"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "Artikel ist einem Kundenauftrag zugeordnet"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "Artikel ist einem Fertigungsauftrag zugeordnet"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr "Kunde zum Zuweisen von Lagerartikel"
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr "Ausgewählte Firma ist kein Kunde"
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr "Notizen zur Lagerzuordnung"
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr "Eine Liste der Lagerbestände muss angegeben werden"
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr "Notizen zur Lagerartikelzusammenführung"
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr "Unterschiedliche Lieferanten erlauben"
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben"
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr "Unterschiedliche Status erlauben"
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben"
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr "Mindestens zwei Lagerartikel müssen angegeben werden"
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr "Primärschlüssel Lagerelement"
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr "Bestandsbewegungsnotizen"
@@ -7849,7 +7887,7 @@ msgstr "Lagerartikel-Notizen"
msgid "Installed Stock Items"
msgstr "Installierte Lagerartikel"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr "Lagerartikel installieren"
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr "Verfügbare Menge"
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
@@ -8039,35 +8077,40 @@ msgstr "überfällig"
msgid "No stocktake performed"
msgstr "Keine Inventur ausgeführt"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Bestandsstatus bearbeiten"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Lagerartikel-QR-Code"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Barcode mit Lagerartikel verknüpfen"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr "Wählen Sie eine der unten aufgeführten Teilvarianten aus."
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Warnung"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Lagerartikel umwandeln"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "zurück ins Lager"
@@ -8141,15 +8184,20 @@ msgstr "Neuen Lagerort anlegen"
msgid "New Location"
msgstr "Neuer Lagerort"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr "Lagerort an diesen Ort eingescannt"
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr "QR-Code für diesen Lagerort"
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr "Barcode mit Lagerort verknüpfen"
@@ -8211,11 +8259,11 @@ msgstr "Der %(inventree_title)s -Server hat einen internen Fehler aufgeworfen"
msgid "Refer to the error log in the admin interface for further details"
msgstr "Weitere Details finden Sie im Fehlerlog im Admin-Interface"
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr "System wird gewartet"
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr "Die Seite ist derzeit in Wartung und sollte bald wieder verfügbar sein!"
@@ -8251,43 +8299,43 @@ msgstr "Verbrauchter Bestand"
msgid "Required for Build Orders"
msgstr "Für Bauaufträge benötigt"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr "abgelaufener Bestand"
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr "Bestand überfällig"
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr "laufende Bauaufträge"
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "überfällige Bauaufträge"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "ausstehende Bestellungen"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "überfällige Bestellungen"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "ausstehende Aufträge"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "überfällige Aufträge"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr "InvenTree Neuigkeiten"
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr "Aktuelle Neuigkeiten"
@@ -8297,7 +8345,7 @@ msgstr "Benachrichtigungsverlauf"
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Benachrichtigungen löschen"
@@ -8317,19 +8365,19 @@ msgstr "Alle als gelesen markieren"
msgid "Notifications"
msgstr "Benachrichtigungen"
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr "Keine ungelesenen Benachrichtigungen"
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr "Kein Benachrichtigungsverlauf"
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr "Lösche alle gelesenen Benachrichtigungen"
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Benachrichtigung löschen"
@@ -8358,7 +8406,7 @@ msgstr "Bauauftrag-Einstellungen"
msgid "Category Settings"
msgstr "Kategorie-Einstellungen"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Server Einstellungen"
@@ -8367,20 +8415,20 @@ msgstr "Server Einstellungen"
msgid "Label Settings"
msgstr "Labeleinstellungen"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Anmeldeeinstellungen"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr "Ausgehende E-Mails wurde nicht konfiguriert. Einige Anmelde- und Anmeldefunktionen funktionieren möglicherweise nicht korrekt!"
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Anmelden"
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr "Single Sign On"
@@ -8435,57 +8483,57 @@ msgstr "Inventur-Einstellungen"
msgid "Stocktake Reports"
msgstr "Inventurberichte"
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Plugin-Einstellungen"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung."
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Plugins"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Plugin installieren"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Version"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr "Aktive Plugins"
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Inaktive Plugins"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Plugin-Fehlerstapel"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Stufe"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Meldung"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr "Integriert"
@@ -8493,69 +8541,69 @@ msgstr "Integriert"
msgid "Sample"
msgstr "Beispiel"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Plugin-Informationen"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "keine Versionsinformation angegeben"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Lizenz"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "Die Code-Informationen werden vom neuesten Git Commit für dieses Plugin eingelesen. Es spiegelt möglicherweise nicht die offiziellen Versionsnummern oder Informationen wider, sondern den tatsächlich laufenden Code."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Paketinformationen"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Installationsmethode"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Dieses Plugin wurde als Paket installiert"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr "Dieses Plugin wurde in einem lokalen Serverpfad gefunden"
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Installationspfad"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr "Dies ist ein integriertes Plugin, das nicht deaktiviert werden kann"
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Commit-Autor"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Commit-Datum"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Commit-Hash"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Commit-Nachricht"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Signaturstatus"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Signatur Schlüssel"
@@ -8588,12 +8636,12 @@ msgstr "Nie"
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Vorlage löschen"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr "Teilparametervorlage anlegen"
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr "Teilparametervorlage bearbeiten"
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr "Alle Parameter, die diese Vorlage referenzieren, werden ebenfalls gelöscht"
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "Passwort ändern"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "Bearbeiten"
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "Fehlerbericht senden"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "In die Zwischenablage kopieren"
@@ -9045,21 +9094,25 @@ msgstr "In die Zwischenablage kopieren"
msgid "copy version information"
msgstr "Versionsinformationen kopieren"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "E-Mail-Adresse bestätigen"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Bitte bestätigen Sie, dass %(email)s eine E-Mail-Adresse für den Benutzer %(user_display)s ist."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Bestätigen"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Dieser E-Mail Bestätigungslink ist abgelaufen oder ungültig. Bitte fordern Sie eine neue E-Mail Bestätigung an."
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Benötigte Menge"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Sie erhalten diese E-Mail, weil Sie Benachrichtigungen für diesen Teil abonniert haben "
@@ -9296,16 +9349,16 @@ msgstr "Sie erhalten diese E-Mail, weil Sie Benachrichtigungen für diesen Teil
msgid "Click on the following link to view this part"
msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen"
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Mindestmenge"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Keine Antwort"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "keine Antwort vom InvenTree Server"
@@ -9317,27 +9370,27 @@ msgstr "Fehler 400: Fehlerhafte Anfrage"
msgid "API request returned error code 400"
msgstr "Fehler-Code 400 zurückgegeben"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Fehler 401: Nicht Angemeldet"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Authentication Kredentials nicht angegeben"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Fehler 403: keine Berechtigung"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Fehlende Berechtigung für diese Aktion"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Fehler 404: Ressource nicht gefunden"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
@@ -9349,11 +9402,11 @@ msgstr "Fehler 405: Methode nicht erlaubt"
msgid "HTTP method not allowed at URL"
msgstr "HTTP-Methode für diese URL nicht erlaubt"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Fehler 408: Zeitüberschreitung"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Unbekannte Antwort von Server erhalten"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Ungültige Antwort von Server"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr "Barcode des Lagerartikels scannen um ihn an diesen Ort einzuchecken"
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr "Einbuchen"
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr "Kein Barcode vorhanden"
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr "Lagerartikel bereits gescannt"
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Lagerartikel besteht bereits in diesem Lagerort"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr "Lagerartikel hinzugefügt"
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr "Barcode entspricht keinem Lagerartikel"
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr "Diesen Lagerort per Scan an einen anderen Lagerort verschieben"
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr "Barcode des Lagerorts scannen um ihn an diesen Ort einzuchecken"
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr "Barcode entspricht keinem Lagerort"
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "In Lagerorten buchen"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "Barcode entspricht keinem Lagerort"
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr "Zeilendaten"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr "Stückliste für Bauteile laden"
msgid "Substitutes Available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr "Varianten erlaubt"
@@ -9648,26 +9701,26 @@ msgstr "Stücklisten-Bepreisung ist unvollständig"
msgid "No pricing available"
msgstr "Keine Preisinformation verfügbar"
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr "Beinhaltet Variante und Ersatzbestand"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr "Beinhaltet Variantenbestand"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr "Enthält Ersatzbestand"
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr "Verbrauchsartikel"
@@ -9695,11 +9748,11 @@ msgstr "Stücklisten-Position löschen"
msgid "View BOM"
msgstr "Stückliste anzeigen"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "benötigtes Teil"
@@ -9829,170 +9882,178 @@ msgstr "Keine Allokationen für Bauauftrag gefunden"
msgid "Location not specified"
msgstr "Standort nicht angegeben"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "Keine aktiven Endprodukte gefunden"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr "Bestand zuteilen"
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr "Keine nachverfolgten Stücklisten-Einträge für diesen Bauauftrag"
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr "Abgeschlossene Tests"
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr "Keine erforderlichen Tests für diesen Bauauftrag"
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr "Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr "Zuordnung entfernen"
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr "Unzureichender Bestand verfügbar"
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr "Ausreichender Bestand verfügbar"
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr "Bestand bauen"
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr "Bestand zuweisen"
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Teile auswählen"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr "Alle Teile zugeordnet"
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet"
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
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:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerartikel für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr "Automatische Lagerzuordnung"
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
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:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen"
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
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:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr "Lagerartikel zuordnen"
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "Auswählen"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr "Fortschritt"
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr "Gruppe"
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr "Preisstaffel löschen"
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "ja"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "nein"
@@ -10212,7 +10273,7 @@ msgstr "Filter hinzufügen"
msgid "Clear all filters"
msgstr "Filter entfernen"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Filter anlegen"
@@ -10274,11 +10335,11 @@ msgstr "Feldname"
msgid "Select Columns"
msgstr "Spalten auswählen"
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "JA"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "NEIN"
@@ -10291,8 +10352,8 @@ msgid "Export to PDF"
msgstr "Als PDF exportieren"
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "Lagerartikel ausgewählt"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr "Label an den Drucker gesendet"
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Abbrechen"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Abschicken"
@@ -10333,47 +10394,47 @@ msgstr "Abschicken"
msgid "Form Title"
msgstr "Formulartitel"
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr "Warte auf Server..."
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr "Fehler-Informationen anzeigen"
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr "Akzeptieren"
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr "Lade Daten"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr "ungültige Antwort vom Server"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr "Formulardaten fehlen bei Serverantwort"
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Formulardaten fehlerhaft"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr "JSON Antwort enthält keine Formulardaten"
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "Fehler 400: Ungültige Anfrage"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "Fehler 400 von Server erhalten"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Fehler bei Formulardaten-Anfrage"
@@ -10659,7 +10720,7 @@ msgstr "Keine Bestellungen gefunden"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr "Diese Position ist überfällig"
@@ -10676,111 +10737,113 @@ msgstr "Teile-Beziehung löschen"
msgid "Delete Part Relationship"
msgstr "Teile-Beziehung löschen"
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Keine Teile gefunden"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Listenansicht"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Rasteransicht"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest"
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Teil-Kategorie auswählen"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr "Teil-Kategorie wählen"
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr "Kategorie erforderlich"
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Keine Aufträge gefunden"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Baumansicht"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr "Unterkategorien laden"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr "Abonnierte Kategorie"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr "Kein Datum angegeben"
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr "Das angegebene Datum liegt in der Vergangenheit"
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr "Spekulativ"
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr "Keine Zeitplanung für dieses Teil vorhanden"
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil"
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr "Geplante Lagermengen"
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr "Maximale Anzahl"
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr "Minimaler Lagerbestand"
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr "Zu erhaltende Menge"
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr "Status"
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr "Ausgewählte Positionen löschen?"
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr "Position duplizieren"
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr "Position bearbeiten"
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr "Position löschen"
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr "Position duplizieren"
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr "Position bearbeiten"
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr "Position löschen"
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr "Keine passenden Positionen gefunden"
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr "Sendungsreferenz"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "Nicht versandt"
@@ -11239,71 +11302,71 @@ msgstr "Nachverfolgen"
msgid "Invoice"
msgstr "Rechnung"
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr "Sendung hinzufügen"
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr "Artikel zu Kundenauftrag zuweisen"
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr "Keine Allokationen für Verkaufsaufträge gefunden"
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr "Lagerstandort nicht angegeben"
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Bestand kaufen"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Preis berechnen"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden"
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind"
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Stückpreis aktualisieren"
@@ -11503,7 +11566,7 @@ msgstr "Entfernen"
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Hinzufügen"
@@ -11583,164 +11646,172 @@ msgstr "Auftrag zugewiesen"
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "Lagerartikel wird produziert"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "Lagerartikel wurde Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr "Lagerartikel wurde Kunden zugewiesen"
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr "Serialisierter Lagerartikel wurde zugewiesen"
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr "Lagerartikel wurde vollständig zugewiesen"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr "Lagerartikel wurde teilweise zugewiesen"
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr "Lagerartikel in anderem Element verbaut"
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr "Lagerartikel ist abgelaufen"
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr "Lagerartikel läuft demnächst ab"
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr "Lagerartikel abgewiesen"
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr "Lagerartikel verloren"
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr "Lagerartikel zerstört"
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr "Zuliefererteil nicht angegeben"
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr "Bestandswert"
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden Lagerartikel"
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr "Untergeordnete Lagerorte laden"
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Details"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr "Artikelinformationen nicht verfügbar"
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "Lagerartikel existiert nicht mehr"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr "Lagerartikel entfernen"
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr "Zu deinstallierende Lagerartikel auswählen"
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr "Einen weiteren Lagerartikel in dieses Teil installiert"
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden"
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist"
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr "Dieser Lagerartikel ist aktuell vorhanden"
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert"
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt"
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr "Teil zur Installation auswählen"
@@ -12171,11 +12242,9 @@ msgstr "Weiter"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
-msgstr ""
-"Sie sind dabei, Ihr %(provider_name)s Konto zu verwenden, um sich bei\n"
+msgstr "Sie sind dabei, Ihr %(provider_name)s Konto zu verwenden, um sich bei\n"
"%(site_name)s anzumelden.
Als letzten Schritt füllen Sie bitte folgendes Formular aus:"
#: templates/stats.html:13
@@ -12322,34 +12391,35 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Ansicht"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Ändern"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
+
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index e3f1f3a22b..ec239259b7 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Εισάγετε ημερομηνία"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Εισάγετε ημερομηνία"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Σημειώσεις"
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Σφάλμα σύνδεσης"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Ο διακομιστής απάντησε με μη έγκυρο κωδικό κατάστασης"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Προέκυψε σφάλμα"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Ο διακομιστής ανταποκρίθηκε με \"Invalid Content-Length value\""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Η εικόνα είναι πολύ μεγάλη σε μέγεθος"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Η λήψη εικόνας ξεπέρασε το μέγιστο μέγεθος"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Μη έγκυρη ποσότητα"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Κενό σειριακό αριθμό συμβολοσειράς"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Μη έγκυρο εύρος ομάδας: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Μη έγκυρη ακολουθία ομάδας: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Δεν βρέθηκαν σειριακοί αριθμοί"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({s}) πρέπει να αντιστοιχεί στην ποσότητα ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε"
@@ -217,7 +217,7 @@ msgstr "Το αρχείο λείπει"
msgid "Missing external link"
msgstr "Λείπει ο εξωτερικός σύνδεσμος"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Συνημμένο"
msgid "Select file to attach"
msgstr "Επιλέξτε αρχείο για επισύναψη"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Σύνδεσμος"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL"
@@ -259,11 +259,11 @@ msgstr "Σχόλιο αρχείου"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Χρήστης"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Όνομα"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Περιγραφή"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "γονέας"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Μονοπάτι"
@@ -400,189 +400,189 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Όνομα αρχείου"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Μη έγκυρη τιμή"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Αρχείο Δεδομένων"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Επιλέξτε ένα αρχείο για ανέβασμα"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Μη υποστηριζόμενος τύπος αρχείου"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Το αρχείο είναι πολύ μεγάλο"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Δεν βρέθηκαν στήλες στο αρχείο"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Δεν παρασχέθηκαν σειρές δεδομένων"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Δεν δόθηκαν στήλες δεδομένων"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Λείπει απαιτούμενη στήλη: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Διπλή στήλη: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Τσέχικα"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Γερμανικά"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Ελληνικά"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Αγγλικά"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Ισπανικά"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Ισπανικά (Μεξικό)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Φαρσί / Περσικά"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Γαλλικά"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Εβραϊκά"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ούγγρικα"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Ιταλικά"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Ιαπωνικά"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Κορεάτικα"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Dutch"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Νορβηγικά"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Πολωνικά"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Πορτογαλικά"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Πορτογαλικά (Βραζιλίας)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Ρωσικά"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Σουηδικά"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Ταϊλανδέζικα"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Τούρκικα"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Βιετναμέζικα"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Κινέζικα"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Αποστάλθηκε"
@@ -716,7 +716,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί
msgid "Split child item"
msgstr "Διαχωρίστηκε θυγατρικό στοιχείο"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Έγινε συγχώνευση αποθεμάτων"
@@ -837,7 +837,7 @@ msgstr "Σειρά Κατασκευής"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Αναφορά"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Εξάρτημα"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Τοποθεσία Προέλευσης"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Κωδικός κατάστασης κατασκευής"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Κωδικός Παρτίδας"
@@ -994,7 +994,7 @@ msgstr "Κωδικός Παρτίδας"
msgid "Batch code for this build output"
msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Ημερομηνία ολοκλήρωσης"
@@ -1018,7 +1018,7 @@ msgstr "Ημερομηνία ολοκλήρωσης"
msgid "completed by"
msgstr "ολοκληρώθηκε από"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Εκδόθηκε από"
@@ -1030,10 +1030,10 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Κατασκευή"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Κατασκευή για εκχώρηση τμημάτων"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
@@ -1143,7 +1146,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Ποσότητα"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Αποθήκη προορισμού"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Κατασκευή Εξόδου"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Σειριακοί αριθμοί"
@@ -1255,7 +1258,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών"
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Δεν βρέθηκαν σειριακοί αριθμοί"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index dc65f15b57..a94c1b117f 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: 2023-04-28 10:51+0000\n"
+"POT-Creation-Date: 2023-05-02 10:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -42,7 +42,7 @@ msgstr ""
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
+#: stock/admin.py:121 stock/models.py:2122 stock/models.py:2230
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -53,7 +53,7 @@ msgstr ""
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr ""
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2224
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -235,7 +235,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
@@ -264,7 +264,7 @@ msgstr ""
#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr ""
@@ -310,16 +310,16 @@ msgstr ""
#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr ""
@@ -337,22 +337,22 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr ""
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -717,7 +717,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -838,7 +838,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -861,7 +861,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
@@ -903,17 +903,17 @@ msgstr ""
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -926,9 +926,9 @@ msgstr ""
#: templates/js/translated/sales_order.js:1515
#: templates/js/translated/sales_order.js:1716
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -945,7 +945,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
+#: templates/js/translated/build.js:2203
#: templates/js/translated/sales_order.js:1104
msgid "Source Location"
msgstr ""
@@ -1011,7 +1011,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1019,7 +1019,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1034,7 +1034,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1048,6 +1048,9 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
@@ -1108,7 +1111,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1123,7 +1126,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
#: templates/js/translated/sales_order.js:1117
#: templates/js/translated/sales_order.js:1416
@@ -1131,7 +1134,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1522
#: templates/js/translated/sales_order.js:1612
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1161,12 +1164,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1181,8 +1184,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1618
#: templates/js/translated/sales_order.js:1738
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1199,7 +1202,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1225,7 +1228,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1365
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1269,8 +1272,8 @@ msgstr ""
#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
#: templates/js/translated/sales_order.js:1428
@@ -1278,8 +1281,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1547
#: templates/js/translated/sales_order.js:1626
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1291,13 +1294,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1584,7 +1587,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
@@ -1629,7 +1632,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1640,19 +1643,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1683,11 +1686,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1697,7 +1700,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1717,7 +1720,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1811,7 +1814,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1825,11 +1828,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -3289,8 +3292,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3308,6 +3311,12 @@ msgid "Was this news item read?"
msgstr ""
#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3341,7 +3350,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3387,7 +3396,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
@@ -3533,7 +3542,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2217 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3545,7 +3554,7 @@ msgstr ""
#: company/models.py:399 part/admin.py:40 part/models.py:980
#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
@@ -3623,7 +3632,7 @@ msgstr ""
#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
@@ -3657,9 +3666,9 @@ msgstr ""
#: company/models.py:575 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3710,6 +3719,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3734,7 +3755,7 @@ msgstr ""
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3748,7 +3769,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3757,14 +3778,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3829,7 +3850,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3852,7 +3873,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3870,7 +3891,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3886,12 +3907,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3957,7 +3978,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
#: templates/js/translated/stock.js:189 users/models.py:245
msgid "Delete"
@@ -3981,8 +4002,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4011,7 +4032,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4104,7 +4125,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4204,6 +4225,19 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
@@ -4227,7 +4261,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
@@ -4424,7 +4458,7 @@ msgstr ""
#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4572,7 +4606,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4926,7 +4960,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4985,11 +5019,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4998,35 +5032,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5116,7 +5150,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5161,14 +5195,14 @@ msgid "Part Description"
msgstr ""
#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
@@ -5208,7 +5242,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5218,8 +5252,8 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
#: templates/js/translated/sales_order.js:1840
msgid "Allocated"
msgstr ""
@@ -5256,7 +5290,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5320,7 +5354,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -5348,7 +5382,7 @@ msgstr ""
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
@@ -5436,7 +5470,7 @@ msgstr ""
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
@@ -5534,7 +5568,7 @@ msgstr ""
#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
@@ -5685,13 +5719,13 @@ msgstr ""
#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
@@ -5723,7 +5757,7 @@ msgstr ""
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
@@ -5731,7 +5765,7 @@ msgstr ""
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
@@ -5751,7 +5785,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3259 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
@@ -5767,7 +5801,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3271 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
@@ -5776,7 +5810,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3277 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
@@ -5784,7 +5818,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3283 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
@@ -5871,7 +5905,7 @@ msgstr ""
#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
@@ -5882,7 +5916,7 @@ msgid "This BOM item is optional"
msgstr ""
#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
@@ -6391,7 +6425,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6497,7 +6531,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6662,7 +6696,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6685,11 +6719,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6718,7 +6756,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6756,8 +6794,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6790,7 +6828,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6814,7 +6852,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6822,7 +6860,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6835,9 +6873,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6845,11 +6883,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7037,7 +7075,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7065,7 +7103,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7300,7 +7338,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
@@ -7320,12 +7358,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2205 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2211
msgid "Result"
msgstr ""
@@ -7352,7 +7390,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7420,7 +7458,7 @@ msgstr ""
#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
@@ -7465,7 +7503,7 @@ msgstr ""
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
@@ -7587,104 +7625,104 @@ msgstr ""
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1356
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1362
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1368
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1371
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1374
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1381 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1452
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1455
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1458
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1461
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1464
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1467
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1474 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1478
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1482
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1486
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1655
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2123
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2181
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2187
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2206
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2212
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2218
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2225
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2231
msgid "Test notes"
msgstr ""
@@ -7850,7 +7888,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8004,7 +8042,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8040,35 +8078,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8142,15 +8185,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8212,11 +8260,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8252,43 +8300,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8298,7 +8346,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8318,19 +8366,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8359,7 +8407,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8368,20 +8416,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8436,57 +8484,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8494,69 +8542,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8589,12 +8637,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8655,12 +8703,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8672,33 +8720,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8766,7 +8814,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9039,6 +9087,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9046,21 +9095,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9289,7 +9342,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9297,16 +9350,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9318,27 +9371,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9350,11 +9403,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9419,7 +9472,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9456,48 +9509,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9514,8 +9567,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9629,7 +9682,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9649,26 +9702,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
#: templates/js/translated/sales_order.js:1821
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9696,11 +9749,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9830,170 +9883,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
#: templates/js/translated/sales_order.js:1566
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
#: templates/js/translated/sales_order.js:1567
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
+#: templates/js/translated/build.js:1918
#: templates/js/translated/sales_order.js:1828
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
+#: templates/js/translated/build.js:1920
#: templates/js/translated/sales_order.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
+#: templates/js/translated/build.js:2016
#: templates/js/translated/sales_order.js:1927
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
+#: templates/js/translated/build.js:2023
#: templates/js/translated/sales_order.js:1921
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
#: templates/js/translated/sales_order.js:1090
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
+#: templates/js/translated/build.js:2062
#: templates/js/translated/sales_order.js:1091
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
+#: templates/js/translated/build.js:2204
#: templates/js/translated/sales_order.js:1105
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
+#: templates/js/translated/build.js:2243
#: templates/js/translated/sales_order.js:1202
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
+#: templates/js/translated/build.js:2316
#: templates/js/translated/sales_order.js:1279
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10176,12 +10237,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10213,7 +10274,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10275,11 +10336,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10292,7 +10353,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10320,12 +10381,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10334,47 +10395,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10677,109 +10738,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10945,7 +11010,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11582,164 +11647,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 934dd90ae4..e033bb2b58 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 20:00\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Ingrese la fecha"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Ingrese la fecha"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Notas"
@@ -105,75 +105,75 @@ msgstr "La dirección de correo electrónico principal proporcionada no es váli
msgid "The provided email domain is not approved."
msgstr "El dominio de correo electrónico proporcionado no está aprobado."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Error de conexión"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "El servidor respondió con código de estado no válido"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Se ha producido una excepción"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "El servidor respondió con un valor de longitud de contenido inválido"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "El tamaño de la imagen es demasiado grande"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "La descarga de imagen excedió el tamaño máximo"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "El servidor remoto devolvió una respuesta vacía"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "La URL proporcionada no es un archivo de imagen válido"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Cantidad proporcionada no válida"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "No se ha proporcionado un número de serie"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Serie duplicada"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Rango de grupo no válido: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "El rango del grupo {g} supera la cantidad permitida ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Secuencia de grupo no válida: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Numeros de serie no encontrados"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Número único de número de serie ({s}) debe coincidir con la cantidad ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Eliminar etiquetas HTML de este valor"
@@ -217,7 +217,7 @@ msgstr "Archivo no encontrado"
msgid "Missing external link"
msgstr "Falta enlace externo"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Archivo adjunto"
msgid "Select file to attach"
msgstr "Seleccionar archivo para adjuntar"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Enlace"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Enlace a URL externa"
@@ -259,11 +259,11 @@ msgstr "Comentario del archivo"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Usuario"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Selección no válida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nombre"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Descripción"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "padre"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Ruta"
@@ -400,189 +400,189 @@ msgstr "Error de servidor"
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Debe ser un numero valido"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Moneda"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nombre de Archivo"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Archivo de datos"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Seleccione el archivo para subir"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Tipo de archivo no soportado"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "El archivo es demasiado grande"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "No hay columnas en el archivo"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "No hay filas de datos en el archivo"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "No se proporcionaron filas de datos"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "No hay columnas de datos proporcionadas"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta la columna requerida: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Columna duplicada: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL de imagen remota"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "La descarga de imágenes desde la URL remota no está habilitada"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Checo"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Danés"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Griego"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Español"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Español (México)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persa"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebreo"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonés"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Holandés"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Noruego"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugués"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugués (Brasileño)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Ruso"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Esloveno"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tailandés"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chino"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Falló la comprobación en segundo plano del worker"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Enviado"
@@ -716,7 +716,7 @@ msgstr "Separar del elemento principal"
msgid "Split child item"
msgstr "Dividir elemento secundario"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Artículos de stock combinados"
@@ -837,7 +837,7 @@ msgstr "Construir órden"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Número de orden de construcción o armado"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referencia"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Orden de Construcción o Armado a la que se asigna"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Parte"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Orden de Venta a la que se asigna"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Ubicación de la fuente"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Código de estado de construcción"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Numero de lote"
@@ -994,7 +994,7 @@ msgstr "Numero de lote"
msgid "Batch code for this build output"
msgstr "Número de lote de este producto final"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Fecha de finalización"
@@ -1018,7 +1018,7 @@ msgstr "Fecha de finalización"
msgid "completed by"
msgstr "terminado por"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Emitido por"
@@ -1030,10 +1030,10 @@ msgstr "El usuario que emitió esta orden"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link externo"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Artículo de stock seleccionado no encontrado en BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Construcción o Armado"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Armar para asignar partes"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Artículo de stock"
@@ -1143,7 +1146,7 @@ msgstr "Producto original de stock"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Producto original de stock"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Producto original de stock"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Producto original de stock"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Cantidad"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Artículo de stock de destino"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Resultado de la construcción o armado"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Ingrese la cantidad para la producción de la construcción"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "La cantidad debe ser mayor que cero"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Números de serie"
@@ -1255,7 +1258,7 @@ msgstr "Autoasignar Números de Serie"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Asignar automáticamente los elementos requeridos con números de serie coincidentes"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "Los siguientes números seriales ya existen o son inválidos"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Debe proporcionarse una lista de salidas de construcción"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Unicación"
@@ -1290,13 +1293,13 @@ msgstr "Ubicación para las salidas de construcción completadas"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Estado"
@@ -1376,8 +1379,8 @@ msgstr "La cantidad de construcción requerida aún no se ha completado"
msgid "Build order has incomplete outputs"
msgstr "El orden de construcción tiene salidas incompletas"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Item de Lista de Materiales"
@@ -1393,7 +1396,7 @@ msgstr "La salida de la construcción debe apuntar a la misma construcción"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "El artículo debe estar en stock"
@@ -1583,13 +1586,13 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Fecha objetivo"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Completados"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Completados"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Orden de Venta"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Emitido por"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Prioridad"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Eliminar Orden de Trabajo"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr "Partes asignadas"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Lote"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Creado"
@@ -1716,7 +1719,7 @@ msgstr "Órdenes de Trabajo herederas"
msgid "Allocate Stock to Build"
msgstr "Asignar Stock a Trabajo"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Desasignar stock"
@@ -1810,7 +1813,7 @@ msgstr "Salidas de Trabajo Completadas"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Adjuntos"
msgid "Build Notes"
msgstr "Notas del Trabajo"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Asignación completa"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Todos los artículos de stock no rastreados han sido asignados"
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Nombre de empresa"
@@ -2187,7 +2190,7 @@ msgstr "Copiar plantillas de parámetros de categoría"
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar plantillas de parámetros de categoría al crear una parte"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Plantilla"
msgid "Parts are templates by default"
msgstr "Las piezas son plantillas por defecto"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Montaje"
msgid "Parts can be assembled from other components by default"
msgstr "Las piezas pueden ser ensambladas desde otros componentes por defecto"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2220,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Las piezas pueden ser usadas como subcomponentes por defecto"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Comprable"
@@ -2225,7 +2228,7 @@ msgstr "Comprable"
msgid "Parts are purchaseable by default"
msgstr "Las piezas son comprables por defecto"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendible"
@@ -2234,7 +2237,7 @@ msgstr "Vendible"
msgid "Parts are salable by default"
msgstr "Las piezas se pueden vender por defecto"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Rastreable"
msgid "Parts are trackable by default"
msgstr "Las piezas son rastreables por defecto"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr "Cantidad de salto de precio"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr "Punto final en el que se recibe este webhook"
msgid "Name for this webhook"
msgstr "Nombre para este webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Titulo"
msgid "Published"
msgstr "Publicado"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Imágen"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Error generado por el complemento"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Partes importadas"
msgid "Previous Step"
msgstr "Paso anterior"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Descripción de la compañía"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Descripción de la empresa"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Página web"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "URL del sitio web de la empresa"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Dirección"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Dirección de la empresa"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Teléfono"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Teléfono de contacto"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Correo electrónico"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Correo electrónico de contacto"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Contacto"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Punto de contacto"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Enlace a información externa de la empresa"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "es cliente"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "¿Vendes artículos a esta empresa?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "es proveedor"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "¿Compras artículos de esta empresa?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "es fabricante"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "¿Esta empresa fabrica piezas?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Moneda predeterminada utilizada para esta empresa"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Empresa"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Parte base"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Seleccionar pieza"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Seleccionar pieza"
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Seleccionar fabricante"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Seleccionar fabricante"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Número de Parte del Fabricante"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL para el enlace de parte del fabricante externo"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Descripción de la parte del fabricante"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Parte del fabricante"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Nombre del parámetro"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Valor"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Valor del parámetro"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Unidades"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Unidades de parámetro"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza base"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza
msgid "Supplier"
msgstr "Proveedor"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Seleccionar proveedor"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Seleccionar proveedor"
msgid "SKU"
msgstr "SKU"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Unidad de mantenimiento de stock de proveedores"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Seleccionar parte del fabricante"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "URL del enlace de parte del proveedor externo"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Descripción de la parte del proveedor"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Nota"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "costo base"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Paquetes"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Embalaje de partes"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Embalaje de partes"
msgid "Pack Quantity"
msgstr "Cantidad de paquete"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "múltiple"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Pedido múltiple"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Pedido múltiple"
msgid "Available"
msgstr "Disponible"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Disponibilidad actualizada"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Moneda predeterminada utilizada para este proveedor"
@@ -3709,6 +3718,18 @@ msgstr "Eliminar empresa"
msgid "Delete Company"
msgstr "Eliminar Empresa"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Borrar imagen"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Cliente"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Teléfono"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Quitar imagen"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Eliminar"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Cargar Imagen"
@@ -3828,7 +3849,7 @@ msgstr "Stock del Proveedor"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Nueva orden de compra"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Nueva orden de venta"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Stock asignado"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Eliminar partes del proveedor"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Eliminar"
@@ -3980,8 +4001,8 @@ msgstr "Nuevo parámetro"
msgid "Delete parameters"
msgstr "Eliminar parámetro"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Añadir parámetro"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Ítems de Proveedor"
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Elementos de stock"
@@ -4137,78 +4158,91 @@ msgstr "Empresas"
msgid "New Company"
msgstr "Nueva Compañía"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Nombre etiqueta"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Descripción de etiqueta"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etiqueta"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Archivo de plantilla de etiqueta"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Habilitado"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Plantilla de etiqueta habilitada"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Ancho [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Ancho de la etiqueta, especificado en mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Altura [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Altura de la etiqueta, especificada en mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Patrón de Nombre de archivo"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Patrón para generar nombres de archivo de etiquetas"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtros"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtros de búsqueda de partes (valor separado por comas de pares clave=valor)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Precio Total"
@@ -4216,7 +4250,7 @@ msgstr "Precio Total"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Orden de compra"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Desconocido"
@@ -4399,7 +4433,7 @@ msgstr "eliminado"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Orden"
@@ -4421,9 +4455,9 @@ msgstr "Recibido"
msgid "Number of items received"
msgstr "Número de artículos recibidos"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Precio de Compra"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr "Duplicar selección"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Línea de pedido"
msgid "Received Stock"
msgstr "Stock Recibido"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Comprar artículos de orden"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Comprar artículos de orden"
msgid "Add Line Item"
msgstr "Añadir artículo de línea"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Líneas Adicionales"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Añadir línea adicional"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Articulos Recibidos"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Envíos pendientes"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Acciones"
@@ -5145,42 +5179,42 @@ msgstr "Actualizado el precio unitario de {part} a {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID de Parte"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Revisión"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Palabras claves"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "ID de Categoría"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante de"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Stock mínimo"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "En Stock"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "En pedido"
msgid "Used In"
msgstr "Usado en"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Asignadas"
@@ -5228,11 +5262,11 @@ msgstr "Asignadas"
msgid "Building"
msgstr "En construcción"
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr "Ruta de Categoría"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Partes"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr "Validación de Lista de Materiales"
msgid "This option must be selected"
msgstr "Esta opción debe ser seleccionada"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Ubicación Predeterminada"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Inventario Total"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Stock Disponible"
@@ -5332,882 +5366,882 @@ msgstr "Stock Disponible"
msgid "Input quantity for price calculation"
msgstr "Cantidad de entrada para el cálculo del precio"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoría de parte"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Categorías de parte"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Ubicación predeterminada para partes de esta categoría"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Estructural"
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Palabras clave predeterminadas"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Palabras clave por defecto para partes en esta categoría"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Icono"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Icono (opcional)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Opción no válida para la parte principal"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)"
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "El IPN debe coincidir con la expresión regular {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN duplicado no permitido en la configuración de partes"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Nombre de la pieza"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Es plantilla"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "¿Es esta parte una parte de la plantilla?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Categoría"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Categoría de parte"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Número de parte interna"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Revisión de parte o número de versión"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "¿Dónde se almacena este elemento normalmente?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Proveedor por defecto"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Parte de proveedor predeterminada"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Expiración por defecto"
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte"
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Nivel mínimo de stock permitido"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "¿Se puede construir esta pieza a partir de otras piezas?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "¿Se puede utilizar esta pieza para construir otras partes?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "¿Esta parte tiene seguimiento de objetos únicos?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "¿Se puede comprar esta pieza a proveedores externos?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "¿Se puede vender esta pieza a los clientes?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "¿Está activa esta parte?"
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Suma de control BOM almacenada"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "BOM comprobado por"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "Fecha BOM comprobada"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Creación de Usuario"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Último inventario"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Vender múltiples"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Costo mínimo de compra"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Costo mínimo de variante"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Coste mínimo calculado de las partes variantes"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Costo máximo de variante"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Fecha"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "Notas adicionales"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables"
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr "Ya existe una prueba con este nombre para esta parte"
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Nombre de prueba"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Introduzca un nombre para la prueba"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "¿Es necesario pasar esta prueba?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Requiere valor"
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?"
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Adjunto obligatorio"
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?"
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "El nombre de parámetro en la plantilla tiene que ser único"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Nombre de Parámetro"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Unidad del Parámetro"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Parte principal"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Plantilla de parámetro"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Datos"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Valor del parámetro"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valor predeterminado"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Valor de parámetro por defecto"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Nivel"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Seleccionar parte principal"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Sub parte"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Seleccionar parte a utilizar en BOM"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Cantidad del artículo en BOM"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Este elemento BOM es opcional"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumible"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Exceso"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)"
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Referencia de artículo de BOM"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Notas del artículo de BOM"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Suma de comprobación de la línea en BOM"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validado"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este artículo BOM es heredado por BOMs para partes variantes"
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM"
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "La cantidad debe ser un valor entero para las partes rastreables"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "Debe especificar la subparte"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Ítem de BOM sustituto"
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sustituta no puede ser la misma que la parte principal"
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Artículo BOM superior"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Sustituir parte"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Seleccionar parte relacionada"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Moneda de compra de ítem de stock"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Parte original"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Copiar Imagen"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Copiar imagen desde la parte original"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Copiar BOM"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Copiar la factura de materiales de la parte original"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Copiar Parámetros"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Copiar datos del parámetro de la parte original"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Cantidad Inicial de Stock"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Duplicar Parte"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Copiar Parámetros de Categoría"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada"
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "Actualizar"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr "Seleccionar parte de la que copiar BOM"
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Eliminar Datos Existentes"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr "Eliminar elementos BOM existentes antes de copiar"
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr "Incluye Heredado"
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr "Incluye elementos BOM que son heredados de partes con plantillas"
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Omitir filas no válidas"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Activar esta opción para omitir filas inválidas"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Limpiar BOM Existente"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr "Varios resultados encontrados"
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "No se encontraron partes coincidentes"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr "La parte no está designada como componente"
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Cantidad no proporcionada"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Cantidad no válida"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr "Se requiere al menos un elemento BOM"
@@ -6220,25 +6254,25 @@ msgstr "Notificación por bajo stock"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Cantidad Total"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Inventario"
@@ -6496,7 +6530,7 @@ msgstr "Partes relacionadas"
msgid "Add Related Part"
msgstr "Añadir artículos relacionados"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Añadir plantilla de resultados de prueba"
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Nivel mínimo de stock"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "Código QR de Parte"
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Calcular"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Ningún precio de proveedor disponible"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Precios BOM"
@@ -6755,8 +6793,8 @@ msgstr "Variantes"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Inventario"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Última actualización"
@@ -6813,7 +6851,7 @@ msgstr "Precio Interno"
msgid "Purchase History"
msgstr "Historial de compras"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Precios variantes"
@@ -6821,7 +6859,7 @@ msgstr "Precios variantes"
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Historial de ventas"
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Ir a la vista general"
@@ -6844,11 +6882,11 @@ msgstr "Ir a la vista general"
msgid "Add Internal Price Break"
msgstr "Añadir salto de precio interno"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr "Configuración del complemento"
msgid "Plugin Configurations"
msgstr "Configuraciones del Plug-in"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Clave"
@@ -7064,7 +7102,7 @@ msgstr "Complemento de ejemplo"
msgid "Builtin Plugin"
msgstr "Complemento integrado"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Complemento"
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Precio Unitario"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Número de serie"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr "Resultados de la Prueba"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Prueba"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Resultado"
@@ -7351,7 +7389,7 @@ msgstr "Elementos instalados"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr "Nombre del proveedor"
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Instalado en"
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Fecha de Expiración"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr "Cantidad requerida"
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr "Debe suministrarse una pieza válida"
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Ubicación de Stock"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Ubicaciones de Stock"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Propietario"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Seleccionar Propietario"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Tipo de pieza ('{pf}') debe ser {pe}"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr "La cantidad debe ser 1 para el artículo con un número de serie"
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1"
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr "El objeto no puede pertenecer a sí mismo"
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr "El elemento debe tener una referencia de construcción si is_building=True"
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr "La referencia de la construcción no apunta al mismo objeto de parte"
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Artículo de stock padre"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Parte base"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock"
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr "¿Dónde se encuentra este artículo de stock?"
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr "Empaquetar este elemento de stock se almacena en"
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr "¿Está este elemento instalado en otro elemento?"
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Número de serie para este elemento"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Código de lote para este artículo de stock"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Cantidad de Stock"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Build de origen"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Build para este item de stock"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Orden de compra de origen"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Orden de compra para este artículo de stock"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Orden de venta de destino"
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Eliminar al agotar"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Eliminar este artículo de stock cuando se agoten las existencias"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr "Precio de compra único en el momento de la compra"
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "Convertido a parte"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "La parte no está establecida como rastreable"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Cantidad debe ser un entero"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "La cantidad no debe exceder la cantidad disponible de existencias ({n})"
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "Los números de serie deben ser una lista de enteros"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "La cantidad no coincide con los números de serie"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Números de serie ya existen"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "Artículo de stock ha sido asignado a un pedido de venta"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "Artículo de stock está instalado en otro artículo"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "Artículo de stock contiene otros artículos"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "Artículo de stock ha sido asignado a un cliente"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "El artículo de stock está en producción"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Stock serializado no puede ser combinado"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Artículos de Stock Duplicados"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "Los artículos de stock deben referirse a la misma parte"
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr "Los artículos de stock deben referirse a la misma parte del proveedor"
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "Los códigos de estado del stock deben coincidir"
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stock no se puede mover porque no está en stock"
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Notas de entrada"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Debe proporcionarse un valor para esta prueba"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "El archivo adjunto debe ser subido para esta prueba"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Nombre del test"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Resultado de la prueba"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr "Valor de salida de prueba"
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr "Adjunto de resultados de prueba"
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr "Notas de prueba"
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Precio de compra de este artículo de stock"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Introduzca el número de elementos de stock para serializar"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})"
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Introduzca números de serie para nuevos elementos"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "Ubicación de stock de destino"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr "Campo de nota opcional"
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Los números de serie no se pueden asignar a esta parte"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "Añadir nota de transacción (opcional)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "La parte debe ser vendible"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "El artículo está asignado a una orden de venta"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "El artículo está asignado a una orden de creación"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr "Cliente para asignar elementos de stock"
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr "La empresa seleccionada no es un cliente"
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr "Notas de asignación de stock"
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr "Debe proporcionarse una lista de artículos de stock"
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr "Notas de fusión de stock"
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr "Permitir proveedores no coincidentes"
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Permitir fusionar artículos de stock con diferentes piezas de proveedor"
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr "Permitir estado no coincidente"
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr "Permitir fusionar elementos de stock con diferentes códigos de estado"
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr "Debe proporcionar al menos dos artículos de stock"
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr "Valor de clave primaria de Stock"
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr "Notas de transacción de stock"
@@ -7849,7 +7887,7 @@ msgstr "Notas del artículo de stock"
msgid "Installed Stock Items"
msgstr "Elementos de Stock instalados"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr "Instalar elemento de stock"
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr "Cantidad disponible"
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Ubicación no establecida"
@@ -8039,35 +8077,40 @@ msgstr "Desactualizado"
msgid "No stocktake performed"
msgstr "Ningún inventario realizado"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Editar Estado del Stock"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Código QR de Item de Stock"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Enlazar código de barras al artículo de stock"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr "Seleccione una de las variantes de parte listadas a continuación."
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Advertencia"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Esta acción no se puede deshacer fácilmente"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Convertir artículo de stock"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Volver a Stock"
@@ -8141,15 +8184,20 @@ msgstr "Crear nueva ubicación de stock"
msgid "New Location"
msgstr "Nueva Ubicación"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr "Consulte el registro de errores en la interfaz de administración para más detalles"
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr "El Sitio está en Mantenimiento"
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr "El sitio está actualmente en mantenimiento y debería estar listo pronto!"
@@ -8251,43 +8299,43 @@ msgstr "Stock Agotado"
msgid "Required for Build Orders"
msgstr "Requerido para construir pedidos"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr "Stock Caducado"
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr "Stock Obsoleto"
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr "Pedidos en curso"
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "Órdenes de construcción atrasadas"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "Órdenes de Compra Pendientes"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "Pedidos de Compra Atrasados"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "Pedidos de Venta Pendientes"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "Pedidos de Venta Atrasados"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr "Noticias de InvenTree"
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr "Noticias actuales"
@@ -8297,7 +8345,7 @@ msgstr "Historial de notificaciones"
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Eliminar notificaciones"
@@ -8317,19 +8365,19 @@ msgstr "Marcar todos como leidos"
msgid "Notifications"
msgstr "Notificaciones"
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr "No se encontraron notificaciones sin leer"
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr "No se encontró historial de notificaciones"
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr "Borrar todas las notificaciones leídas"
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Eliminar notificación"
@@ -8358,7 +8406,7 @@ msgstr "Configuración de Pedido de Trabajo"
msgid "Category Settings"
msgstr "Ajustes de Categoría"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Configuración del Servidor"
@@ -8367,20 +8415,20 @@ msgstr "Configuración del Servidor"
msgid "Label Settings"
msgstr "Ajustes de Etiqueta"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Configuración de Inicio de Sesión"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Registrarse"
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Ajustes del complemento"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr "Cambiar la configuración de abajo requiere reiniciar inmediatamente el servidor. No lo cambie mientras esté en uso activo."
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Complementos"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Instalar complemento"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Versión"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr "Complementos activos"
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Complementos inactivos"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Pila de error de complementos"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Etapa"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Mensaje"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr "Integrado"
@@ -8493,69 +8541,69 @@ msgstr "Integrado"
msgid "Sample"
msgstr "Muestra"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Información de Plugin"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "no se proporcionó información de versión"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Licencia"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "La información del código es extraída del último git commit para este plugin. Puede que no refleje los números de versión oficiales o la información, pero sí el código actual en ejecución."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Información del paquete"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Método de instalación"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Este plugin fue instalado como un paquete"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr "Este complemento fue encontrado en una ruta del servidor local"
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Ruta de instalación"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr "Este es un complemento incorporado que no puede ser desactivado"
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Autor del Commit"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Fecha del Commit"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Hash de Commit"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Mensaje de Commit"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Estado de Firma"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Firma de clave"
@@ -8588,12 +8636,12 @@ msgstr "Nunca"
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "No hay plantillas de parámetros de categoría"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Editar Plantilla"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Eliminar Plantilla"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr "Eliminar plantilla de parámetro de categoría"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "Crear plantilla de parámetro de categoría"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "No se encontraron plantillas de parámetros de parte"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Identificación"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr "Crear plantilla Parámetro de Parte"
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr "Crear plantilla Parámetro de Parte"
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr "Eliminar Plantilla de Parámetros de Parte"
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "Cambiar Contraseña"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "Editar"
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "Enviar Informe de Error"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "copiar al portapapeles"
@@ -9045,21 +9094,25 @@ msgstr "copiar al portapapeles"
msgid "copy version information"
msgstr "copiar información de versión"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "Confirmar Email"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Confirme que %(email)s es una dirección de correo electrónico para el usuario %(user_display)s."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Confirmar"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Este enlace de confirmación de correo electrónico ha caducado o no es válido. Por favor, envíe un nuevo correo electrónico de solicitud de confirmación."
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Cantidad requerida"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Estás recibiendo este correo electrónico porque estás suscrito a las notificaciones de esta parte "
@@ -9296,16 +9349,16 @@ msgstr "Estás recibiendo este correo electrónico porque estás suscrito a las
msgid "Click on the following link to view this part"
msgstr "Haga clic en el siguiente enlace para ver esta pieza"
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Cantidad Mínima"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Sin Respuesta"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "No hay respuesta del servidor InvenTree"
@@ -9317,27 +9370,27 @@ msgstr "Error 400: Solicitud incorrecta"
msgid "API request returned error code 400"
msgstr "La solicitud API devolvió el código de error 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Error 401: No autenticado"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Credenciales de autenticación no suministradas"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Error 403: Permiso Denegado"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "No tiene los permisos necesarios para acceder a esta función"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Error 404: Recurso No Encontrado"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "El recurso solicitado no se pudo encontrar en el servidor"
@@ -9349,11 +9402,11 @@ msgstr "Error 405: Método no Permitido"
msgid "HTTP method not allowed at URL"
msgstr "Método HTTP no permitido en URL"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Error 408: Tiempo de espera agotado"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Tiempo de espera de conexión agotado al solicitar datos del servidor"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Respuesta desconocida del servidor"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Respuesta del servidor inválida"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr "Registrar"
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr "Artículo de stock ya escaneado"
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Artículo de stock ya está en esta ubicación"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr "Artículo de stock añadido"
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "Comprobar en la ubicación"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "El código de barras no coincide con una ubicación válida"
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr "Datos de Fila"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr "Sustitutos Disponibles"
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr "Stock de variante permitido"
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr "Eliminar Artículo de BOM"
msgid "View BOM"
msgstr "Ver BOM"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "No se encontraron elementos BOM"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "Parte requerida"
@@ -9829,170 +9882,178 @@ msgstr "No se encontraron asignaciones de órdenes de trabajo"
msgid "Location not specified"
msgstr "Ubicación no especificada"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "No se encontraron salidas de trabajo activas"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Editar asignación de stock"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Eliminar asignación de stock"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr "Editar Asignación"
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr "Quitar asignación"
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr "Piezas sustitutas disponibles"
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Cantidad por"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr "Stock de Trabajo"
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Pedido de stock"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr "Asignar stock"
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Seleccionar partes"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr "Debe seleccionar al menos una parte para asignar"
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr "Especificar la cantidad de asignación de stock"
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr "Seleccionar ubicación de origen (dejar en blanco para tomar de todas las ubicaciones)"
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr "Asignar Artículos de Stock a Orden de Trabajo"
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr "No hay ubicaciones de stock coincidentes"
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr "No hay artículos de stock coincidentes"
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr "No hay trabajos que coincidan con la consulta"
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "Seleccionar"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr "Orden de trabajo atrasada"
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "No hay información de usuario"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr "No se asignaron partes para"
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr "Eliminar precio de descuento"
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "verdadero"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "falso"
@@ -10212,7 +10273,7 @@ msgstr "Añadir un nuevo filtro"
msgid "Clear all filters"
msgstr "Limpiar todos los filtros"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Crear filtro"
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "SI"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,8 +10352,8 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "artículos de stock seleccionados"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Cancelar"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Enviar"
@@ -10333,47 +10394,47 @@ msgstr "Enviar"
msgid "Form Title"
msgstr "Título del Formulario"
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr "Esperando al servidor..."
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr "Mostrar Información de Error"
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr "Aceptar"
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr "Cargando Datos"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr "Respuesta no válida del servidor"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr "Datos del formulario faltantes de la respuesta del servidor"
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Error al publicar datos del formulario"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr "Respuesta JSON faltan datos del formulario"
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "Error 400: Solicitud Incorrecta"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "El servidor devolvió el código de error 400"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Error al solicitar datos del formulario"
@@ -10659,7 +10720,7 @@ msgstr "No se encontraron órdenes de compra"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr "Eliminar relación de parte"
msgid "Delete Part Relationship"
msgstr "Eliminar Relación de Parte"
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "No se encontraron partes"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Sin categoría"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Mostrar como lista"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Mostrar como cuadrícula"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Definir Categoría de Parte"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "No se encontraron ventas"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Mostrar como árbol"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr "Cargar subcategorías"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr "Categoría suscrita"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr "No hay plantillas de prueba que coincidan con la consulta"
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Editar resultado de prueba"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Eliminar resultado de prueba"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr "Esta prueba está definida para una parte principal"
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr "Editar plantilla de resultado de prueba"
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr "Eliminar plantilla de resultados de prueba"
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr "Sin fecha especificada"
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr "Especulativo"
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr "Cantidad máxima"
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr "Cantidad a recibir"
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr "Estado del Stock"
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr "Editar Ítem de Línea"
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr "Eliminar Ítemde Línea"
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr "Editar elemento de línea"
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr "Eliminar elemento de línea"
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr "No hay elementos de línea coincidentes"
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr "Referencia de Envío"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "No enviado"
@@ -11239,71 +11302,71 @@ msgstr "Seguimiento"
msgid "Invoice"
msgstr "Factura"
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr "Añadir envío"
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Confirmar asignación de stock"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr "Asignar artículos de stock a pedido de venta"
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr "No se encontraron asignaciones de órdenes"
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr "Editar Asignación de Stock"
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Confirmar Operación de Eliminar"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr "Eliminar Adjudicación de Stock"
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "Enviado al cliente"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr "Ubicación de stock no especificada"
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Asignar números de serie"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Comprar stock"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Calcular precio"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr "No se puede eliminar ya que los artículos han sido enviados"
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr "No se puede eliminar ya que los elementos han sido asignados"
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Asignar Números de Serie"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Actualizar Precio Unitario"
@@ -11503,7 +11566,7 @@ msgstr "Tomar"
msgid "Add Stock"
msgstr "Añadir Stock"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Añadir"
@@ -11583,164 +11646,172 @@ msgstr "Asignado a la Orden de Venta"
msgid "No stock location set"
msgstr "Ninguna ubicación de stock establecida"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "El artículo de stock está en producción"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "Artículo de stock asignado al pedido de venta"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr "Artículo de stock asignado al cliente"
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr "Se ha asignado un artículo de stock serializado"
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr "Artículo de stock ha sido completamente asignado"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr "Artículo de stock ha sido asignado parcialmente"
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr "Artículo de stock ha sido instalado en otro artículo"
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr "Artículo de stock ha caducado"
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr "El artículo de stock caducará pronto"
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr "Artículo de stock ha sido rechazado"
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr "Artículo de stock perdido"
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr "Artículo de stock destruido"
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr "Agotado"
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr "Parte del proveedor no especificada"
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr "No hay artículos de stock que coincidan con la consulta"
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Establecer estado de stock"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Seleccionar Código de Estado"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Debe seleccionar el código de estado"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr "Cargar sublocalidades"
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Detalles"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "Ubicación ya no existe"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "La orden de compra ya no existe"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "El cliente ya no existe"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "Artículo de stock ya no existe"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Añadido"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Eliminado"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr "Ningún elemento instalado"
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr "Desinstalar elemento de stock"
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios"
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr "Continuar"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "Permisos"
msgid "Important dates"
msgstr "Fechas importantes"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Permiso establecido"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Grupo"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Vista"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Permiso para ver elementos"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Permiso para añadir elementos"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Cambiar"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Permisos para editar elementos"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Permiso para eliminar elementos"
+
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index dc65f15b57..a94c1b117f 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: 2023-04-28 10:51+0000\n"
+"POT-Creation-Date: 2023-05-02 10:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -42,7 +42,7 @@ msgstr ""
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
+#: stock/admin.py:121 stock/models.py:2122 stock/models.py:2230
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -53,7 +53,7 @@ msgstr ""
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr ""
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2224
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -235,7 +235,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
@@ -264,7 +264,7 @@ msgstr ""
#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr ""
@@ -310,16 +310,16 @@ msgstr ""
#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr ""
@@ -337,22 +337,22 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr ""
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -717,7 +717,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -838,7 +838,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -861,7 +861,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
@@ -903,17 +903,17 @@ msgstr ""
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -926,9 +926,9 @@ msgstr ""
#: templates/js/translated/sales_order.js:1515
#: templates/js/translated/sales_order.js:1716
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -945,7 +945,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
+#: templates/js/translated/build.js:2203
#: templates/js/translated/sales_order.js:1104
msgid "Source Location"
msgstr ""
@@ -1011,7 +1011,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1019,7 +1019,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1034,7 +1034,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1048,6 +1048,9 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
@@ -1108,7 +1111,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1123,7 +1126,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
#: templates/js/translated/sales_order.js:1117
#: templates/js/translated/sales_order.js:1416
@@ -1131,7 +1134,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1522
#: templates/js/translated/sales_order.js:1612
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1161,12 +1164,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1181,8 +1184,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1618
#: templates/js/translated/sales_order.js:1738
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1199,7 +1202,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1225,7 +1228,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1365
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1269,8 +1272,8 @@ msgstr ""
#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
#: templates/js/translated/sales_order.js:1428
@@ -1278,8 +1281,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1547
#: templates/js/translated/sales_order.js:1626
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1291,13 +1294,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1584,7 +1587,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
@@ -1629,7 +1632,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1640,19 +1643,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1683,11 +1686,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1697,7 +1700,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1717,7 +1720,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1811,7 +1814,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1825,11 +1828,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -3289,8 +3292,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3308,6 +3311,12 @@ msgid "Was this news item read?"
msgstr ""
#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3341,7 +3350,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3387,7 +3396,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
@@ -3533,7 +3542,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2217 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3545,7 +3554,7 @@ msgstr ""
#: company/models.py:399 part/admin.py:40 part/models.py:980
#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
@@ -3623,7 +3632,7 @@ msgstr ""
#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
@@ -3657,9 +3666,9 @@ msgstr ""
#: company/models.py:575 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3710,6 +3719,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3734,7 +3755,7 @@ msgstr ""
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3748,7 +3769,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3757,14 +3778,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3829,7 +3850,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3852,7 +3873,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3870,7 +3891,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3886,12 +3907,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3957,7 +3978,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
#: templates/js/translated/stock.js:189 users/models.py:245
msgid "Delete"
@@ -3981,8 +4002,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4011,7 +4032,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4104,7 +4125,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4204,6 +4225,19 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
@@ -4227,7 +4261,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
@@ -4424,7 +4458,7 @@ msgstr ""
#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4572,7 +4606,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4926,7 +4960,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4985,11 +5019,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4998,35 +5032,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5116,7 +5150,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5161,14 +5195,14 @@ msgid "Part Description"
msgstr ""
#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
@@ -5208,7 +5242,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5218,8 +5252,8 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
#: templates/js/translated/sales_order.js:1840
msgid "Allocated"
msgstr ""
@@ -5256,7 +5290,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5320,7 +5354,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -5348,7 +5382,7 @@ msgstr ""
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
@@ -5436,7 +5470,7 @@ msgstr ""
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
@@ -5534,7 +5568,7 @@ msgstr ""
#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
@@ -5685,13 +5719,13 @@ msgstr ""
#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
@@ -5723,7 +5757,7 @@ msgstr ""
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
@@ -5731,7 +5765,7 @@ msgstr ""
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
@@ -5751,7 +5785,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3259 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
@@ -5767,7 +5801,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3271 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
@@ -5776,7 +5810,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3277 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
@@ -5784,7 +5818,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3283 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
@@ -5871,7 +5905,7 @@ msgstr ""
#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
@@ -5882,7 +5916,7 @@ msgid "This BOM item is optional"
msgstr ""
#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
@@ -6391,7 +6425,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6497,7 +6531,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6662,7 +6696,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6685,11 +6719,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6718,7 +6756,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6756,8 +6794,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6790,7 +6828,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6814,7 +6852,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6822,7 +6860,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6835,9 +6873,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6845,11 +6883,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7037,7 +7075,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7065,7 +7103,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7300,7 +7338,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
@@ -7320,12 +7358,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2205 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2211
msgid "Result"
msgstr ""
@@ -7352,7 +7390,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7420,7 +7458,7 @@ msgstr ""
#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
@@ -7465,7 +7503,7 @@ msgstr ""
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
@@ -7587,104 +7625,104 @@ msgstr ""
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1356
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1362
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1368
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1371
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1374
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1381 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1452
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1455
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1458
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1461
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1464
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1467
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1474 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1478
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1482
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1486
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1655
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2123
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2181
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2187
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2206
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2212
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2218
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2225
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2231
msgid "Test notes"
msgstr ""
@@ -7850,7 +7888,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8004,7 +8042,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8040,35 +8078,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8142,15 +8185,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8212,11 +8260,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8252,43 +8300,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8298,7 +8346,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8318,19 +8366,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8359,7 +8407,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8368,20 +8416,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8436,57 +8484,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8494,69 +8542,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8589,12 +8637,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8655,12 +8703,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8672,33 +8720,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8766,7 +8814,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9039,6 +9087,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9046,21 +9095,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9289,7 +9342,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9297,16 +9350,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9318,27 +9371,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9350,11 +9403,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9419,7 +9472,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9456,48 +9509,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9514,8 +9567,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9629,7 +9682,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9649,26 +9702,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
#: templates/js/translated/sales_order.js:1821
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9696,11 +9749,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9830,170 +9883,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
#: templates/js/translated/sales_order.js:1566
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
#: templates/js/translated/sales_order.js:1567
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
+#: templates/js/translated/build.js:1918
#: templates/js/translated/sales_order.js:1828
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
+#: templates/js/translated/build.js:1920
#: templates/js/translated/sales_order.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
+#: templates/js/translated/build.js:2016
#: templates/js/translated/sales_order.js:1927
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
+#: templates/js/translated/build.js:2023
#: templates/js/translated/sales_order.js:1921
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
#: templates/js/translated/sales_order.js:1090
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
+#: templates/js/translated/build.js:2062
#: templates/js/translated/sales_order.js:1091
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
+#: templates/js/translated/build.js:2204
#: templates/js/translated/sales_order.js:1105
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
+#: templates/js/translated/build.js:2243
#: templates/js/translated/sales_order.js:1202
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
+#: templates/js/translated/build.js:2316
#: templates/js/translated/sales_order.js:1279
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10176,12 +10237,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10213,7 +10274,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10275,11 +10336,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10292,7 +10353,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10320,12 +10381,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10334,47 +10395,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10677,109 +10738,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10945,7 +11010,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11582,164 +11647,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 5303264cf1..6575cb4102 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 20:00\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "تاریخ را وارد کنید"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "تاریخ را وارد کنید"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "یادداشت"
@@ -105,75 +105,75 @@ msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست."
msgid "The provided email domain is not approved."
msgstr "دامنه ایمیل ارائه شده تایید نشده است."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "خطا در اتصال"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "سرور با کد وضعیت نامعتبر پاسخ داد"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "یک استثنا رخ داده است"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "سرور با مقدار طول محتوا نامعتبر پاسخ داد"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "اندازه عکس بسیار بزرگ است"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr ""
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr ""
@@ -259,11 +259,11 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr ""
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr ""
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr ""
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr ""
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "فایلهای داده"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "فایل را برای بارگذاری انتخاب کنید"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "این نوع فایل پشتیبانی نمیشود"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "حجم فایل خیلی بزرگ است"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "هیچ ستونی در فایل یافت نشد"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "هیچ ردیف داده ای در فایل یافت نشد"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "هیچ ردیف داده ای ارائه نشده است"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "هیچ ستون داده ای ارائه نشده است"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "ستون مورد نیاز وجود ندارد: \"{name}\""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "ستون تکراری: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "آدرس اینترنتی"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "آدرس فایل تصویری از راه دور"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr ""
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr ""
@@ -716,7 +716,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -837,7 +837,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr ""
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "منبع محل"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "تایید"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,109 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10944,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11023,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11120,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11225,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11237,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11501,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11581,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12169,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12318,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 084af292c4..b85bc6301e 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:38\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Entrer la date"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Entrer la date"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Notes"
@@ -105,75 +105,75 @@ msgstr "L'adresse e-mail principale fournie n'est pas valide."
msgid "The provided email domain is not approved."
msgstr "Le domaine e-mail fourni n'est pas approuvé."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Erreur de connexion"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Le serveur a répondu avec un code de statut invalide"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Une erreur est survenue"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Le serveur a répondu avec une valeur de longueur de contenu invalide"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Image trop volumineuse"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "La taille de l'image dépasse la taille maximale autorisée"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Le serveur distant a renvoyé une réponse vide"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fournie n'est pas un fichier image valide"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Chaîne de numéro de série vide"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Numéro de série en doublon"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Plage de groupe invalide : {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "La plage de groupe {g} dépasse la quantité autorisée ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Séquence de groupe invalide : {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Aucun numéro de série trouvé"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Retirer les balises HTML de cette valeur"
@@ -217,7 +217,7 @@ msgstr "Fichier manquant"
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Lien vers une url externe"
@@ -259,11 +259,11 @@ msgstr "Commentaire du fichier"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Utilisateur"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Choix invalide"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nom"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Description"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Chemin d'accès"
@@ -400,189 +400,189 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Devise"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Sélectionnez la devise à partir des options disponibles"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nom du fichier"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Valeur non valide"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Fichier de données"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Sélectionnez le fichier de données à envoyer"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Format de fichier non supporté"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Fichier trop volumineux"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Pas de colonnes trouvées dans le fichier"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Par de lignes de données trouvées dans le fichier"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Pas de lignes de données fournies"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Pas de colonne de données fournie"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonne requise manquante : {name}"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonne duliquée : '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL du fichier image distant"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Le téléchargement des images depuis une URL distante n'est pas activé"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tchèque"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Danois"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grec"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Espagnol"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Espagnol (Mexique)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Perse"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hébreu"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Hongrois"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italien"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonais"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Coréen"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Néerlandais"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norvégien"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugais"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russe"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slovénien"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Suédois"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thaïlandais"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamien"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chinois"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Échec de la vérification du processus d'arrière-plan"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "En Cours"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Expédié"
@@ -716,7 +716,7 @@ msgstr "Séparer de l'élément parent"
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Articles de stock fusionnés"
@@ -837,7 +837,7 @@ msgstr "Ordre de Fabrication"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Référence de l' Ordre de Fabrication"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Référence"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "BuildOrder associé a cette fabrication"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "BuildOrder associé a cette fabrication"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Pièce"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Commande de vente à laquelle cette construction est allouée"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Emplacement d'origine"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Code de statut de construction"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Code de lot"
@@ -994,7 +994,7 @@ msgstr "Code de lot"
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,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:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -1018,7 +1018,7 @@ msgstr "Date d'achèvement"
msgid "completed by"
msgstr "achevé par"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Émis par"
@@ -1030,10 +1030,10 @@ msgstr "Utilisateur ayant émis cette commande de construction"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Lien Externe"
@@ -1107,7 +1110,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:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Assemblage"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Construction à laquelle allouer des pièces"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Article en stock"
@@ -1143,7 +1146,7 @@ msgstr "Stock d'origine de l'article"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Stock d'origine de l'article"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Stock d'origine de l'article"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Stock d'origine de l'article"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Quantité"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Stock de destination de l'article"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Sortie d'assemblage"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Entrer la quantité désiré pour la fabrication"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Numéros de série"
@@ -1255,7 +1258,7 @@ msgstr "Allouer automatiquement les numéros de série"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "Les numéros de série suivants existent déjà, ou sont invalides"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Emplacement"
@@ -1290,13 +1293,13 @@ msgstr "Emplacement des ordres de production achevés"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "État"
@@ -1376,8 +1379,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée"
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Article du BOM"
@@ -1393,7 +1396,7 @@ msgstr "La sortie de la construction doit pointer vers la même construction"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "L'article doit être en stock"
@@ -1583,13 +1586,13 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Date Cible"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Terminé"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Terminé"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Commandes"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Émis par"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Priorité"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Supprimer l'ordre de construction"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr "Pièces allouées"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Lot"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Créé le"
@@ -1716,7 +1719,7 @@ msgstr "Commandes de constructions filles"
msgid "Allocate Stock to Build"
msgstr "Allouer le stock à la construction"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Désallouer le stock"
@@ -1810,7 +1813,7 @@ msgstr "Sorties de Construction terminées"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Pieces jointes"
msgid "Build Notes"
msgstr "Notes de construction"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Allocation terminée"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Tous les articles de stock non suivis ont été alloués"
@@ -1981,7 +1984,7 @@ msgstr "Limiter l'affichage de `about`"
msgid "Show the `about` modal only to superusers"
msgstr "Afficher la modale `about` uniquement aux super-utilisateurs"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Nom de la société"
@@ -2187,7 +2190,7 @@ msgstr "Copier les templates de paramètres de catégorie"
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:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Modèle"
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Assemblage"
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:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Composant"
@@ -2217,7 +2220,7 @@ msgstr "Composant"
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:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Achetable"
@@ -2225,7 +2228,7 @@ msgstr "Achetable"
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendable"
@@ -2234,7 +2237,7 @@ msgstr "Vendable"
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Traçable"
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues d
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Titre"
msgid "Published"
msgstr "Publié"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Auteur"
@@ -3306,7 +3309,13 @@ msgstr "Lu"
msgid "Was this news item read?"
msgstr "Cette nouvelle a-t-elle été lue ?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Image"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Erreur déclenchée par le plugin"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Composantes importées"
msgid "Previous Step"
msgstr "Étape précédente"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Description de la société"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Description de la société"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Site web"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Site Web de la société"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adresse"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Adresse de l'entreprise"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Numéro de téléphone"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Numéro de téléphone de contact"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "E-mail"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Adresse e-mail de contact"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Contact"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Point de contact"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "est client"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Vendez-vous des objets à cette entreprise?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "est fournisseur"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Est-ce que vous achetez des articles à cette entreprise?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "est fabricant"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Devise par défaut utilisée pour cette entreprise"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Société"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr "Fabricant"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Sélectionner un fabricant"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Sélectionner un fabricant"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Pièces du fabricant"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Nom du paramètre"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Valeur"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Valeur du paramètre"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Unités"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Unités du paramètre"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d
msgid "Supplier"
msgstr "Fournisseur"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Sélectionner un fournisseur"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Sélectionner un fournisseur"
msgid "SKU"
msgstr "SKU"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Unité de gestion des stocks des fournisseurs"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Sélectionner un fabricant"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "Lien de la pièce du fournisseur externe"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Note"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Frais minimums (par exemple frais de stock)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Conditionnement"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Conditionnement de l'article"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Conditionnement de l'article"
msgid "Pack Quantity"
msgstr "Nombre de paquet"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Nombre d'unités fournies dans un seul paquet"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "plusieurs"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Commande multiple"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Commande multiple"
msgid "Available"
msgstr "Disponible"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Quantité disponible auprès du fournisseur"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Disponibilité mise à jour"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Date de dernière mise à jour des données de disponibilité"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Devise par défaut utilisée pour ce fournisseur"
@@ -3709,6 +3718,18 @@ msgstr "Supprimer la société"
msgid "Delete Company"
msgstr "Supprimer la société"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Supprimer image"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Client"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Téléphone"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Supprimer l'image"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Supprimer l'image associée de cette entreprise"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Supprimer"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Charger une image"
@@ -3828,7 +3849,7 @@ msgstr "Stock fournisseur"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Nouvelle commande achat"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Nouvelle commande de vente"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Stock affecté"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Supprimer les pièces du fournisseur"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Supprimer"
@@ -3980,8 +4001,8 @@ msgstr "Nouveau paramètre"
msgid "Delete parameters"
msgstr "Supprimer les paramètres"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Ajouter un paramètre"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Pièce fournisseur"
@@ -4095,7 +4116,7 @@ msgstr "Lier le code-barres à la pièce du fournisseur"
msgid "Update Part Availability"
msgstr "Mettre à jour la disponibilité des pièces"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "Mettre à jour la disponibilité des pièces"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -4137,78 +4158,91 @@ msgstr "Entreprises"
msgid "New Company"
msgstr "Nouvelle Entreprise"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Nom de l'étiquette"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Description de l’étiquette"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Étiquette"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Fichier de modèle d'étiquette"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Activé"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Le modèle d'étiquette est activé"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Largeur [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Largeur de l'étiquette, spécifiée en mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Hauteur [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Hauteur de l'étiquette, spécifiée en mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Modèle de nom de fichier"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Modèle pour la génération des noms de fichiers d'étiquette"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtres"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé"
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Inconnu"
@@ -4399,7 +4433,7 @@ msgstr "supprimé"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Commande"
@@ -4421,9 +4455,9 @@ msgstr "Reçu"
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Prix d'achat"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr "Dupliquer la sélection"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Articles de la commande d'achat"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Articles de la commande d'achat"
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Expéditions en attente"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID de composant"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Révision"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "En Commande"
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Composantes"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Catégories de composants"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "L'IPN doit correspondre au modèle de regex {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Date"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requis"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Données"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valeur par Défaut"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validée"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Devise d'achat de l'item"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Copier l'image"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Copier les paramètres"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Prise d'inventaire"
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Calculer"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Stock"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Aller à la vue d'ensemble"
@@ -6844,11 +6882,11 @@ msgstr "Aller à la vue d'ensemble"
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr "Extension Intégrée"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Extension"
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Numéro de série"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Résultat"
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Numéro de série"
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Propriétaire"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Sélectionner un propriétaire"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
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:605
+#: stock/models.py:610
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:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
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:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Entrez le nombre d'articles en stock à sérialiser"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Entrez les numéros de série pour les nouveaux articles"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Code QR de l'article en stock"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Lier le code-barres à l'article de stock"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr "Nouvelles d'InvenTree"
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Supprimer les notifications"
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr "Aucune notification non lue trouvée"
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr "Paramètres de Catégorie"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Paramètres du Serveur"
@@ -8367,20 +8415,20 @@ msgstr "Paramètres du Serveur"
msgid "Label Settings"
msgstr "Paramètres des Étiquettes"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Paramètres de Connexion"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Paramètres des Extensions"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Extensions"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "Les extensions tierces ne sont pas activées pour cette installation d'InvenTree"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Informations sur le plugin"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "aucune information de version fournie"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "Les informations de code sont tirées de la dernière version de git pour ce plugin. Elles peuvent ne pas refléter les informations ou numéros de version officiels, mais elles se rapportent au code réellement en cours d'exécution."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Informations du paquet"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Méthode d'installation"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Ce plugin a été installé en tant que paquet"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Chemin d'installation"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Auteur du commit"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Date du commit"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Hash du commit"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Message du commit"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Statut de la signature"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Clé de signature"
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "Changer le mot de passe"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "Modifier"
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Confirmer"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Quantité requise"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Aucune réponse"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "Aucune réponse du serveur InvenTree"
@@ -9317,27 +9370,27 @@ msgstr "Erreur 400: Mauvaise requête"
msgid "API request returned error code 400"
msgstr "La requête de l'API a retourné le code d'erreur 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Erreur 401: non authentifié"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Informations d’authentification non fournies"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Erreur 403: Permission refusée"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Erreur 404: Ressource introuvable"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur"
@@ -9349,11 +9402,11 @@ msgstr "Erreur 405: Méthode non autorisée"
msgid "HTTP method not allowed at URL"
msgstr "Méthode HTTP non autorisée à l'adresse URL"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Erreur 408: Délai dépassé"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Réponse inconnue du serveur"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Réponse du serveur invalide"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr "Article de stock déjà scanné"
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Article de stock déjà à cet emplacement"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr "Article de stock ajouté"
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "Vérifier dans l'emplacement"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "Le code-barres ne correspond pas à un emplacement valide"
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr "Données de la rangée"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Commander des stocks"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Annuler"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Aucune pièce trouvée"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Aucune catégorie"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Afficher sous forme de liste"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Afficher sous forme de grille"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Aucun numéro de série trouvé"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Modifier le résultat du test"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "Livré au client"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Acheter du stock"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Calculer le prix"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr "Supprimer"
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Ajouter"
@@ -11583,164 +11646,172 @@ msgstr "Assigné à une commande de vente"
msgid "No stock location set"
msgstr "Aucun emplacement de stock défini"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "L'article de stock est en production"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "L'article en stock a été assigné à une commande de vente"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr "L'article en stock a été assigné à un client"
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr "L'article de stock sérialisé a été alloué"
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr "L'article de stock a été complètement alloué"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr "L'article de stock a été partiellement alloué"
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr "L'article en stock a été installé dans un autre article"
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr "L'article en stock a expiré"
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr "L'article en stock va bientôt expirer"
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr "L'article de stock a été rejeté"
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr "L'article de stock est perdu"
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr "L'article de stock est détruit"
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr "Epuisé"
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr "Pièce de fournisseur non précisée"
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr "Aucun article de stock ne correspond à la requête"
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Définir l'état du stock"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Sélectionner le code de statut"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Le code de statut doit être sélectionné"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Détails"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "L'emplacement n'existe plus"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "La commande d'achat n'existe plus"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "Le client n'existe plus"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "L'article de stock n'existe plus"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Ajouté"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Supprimé"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "Droits"
msgid "Important dates"
msgstr "Dates importantes"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Groupe"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Vue"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Modifier"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Droit de supprimer des éléments"
+
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index a9e9d5983b..f49feb76be 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "הזן תאריך סיום"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "הזן תאריך סיום"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr ""
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "מספרים סידוריים לא נמצאו"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr "קובץ חסר"
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "קישור חיצוני"
@@ -259,11 +259,11 @@ msgstr "הערת קובץ"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "משתמש"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "בחירה שגויה"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "שם"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "תיאור"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "מקור"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "שם קובץ"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr ""
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "גרמנית"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "יוונית"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "אנגלית"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "ספרדית"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "ספרדית (מקסיקנית)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "צרפתית"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "עברית"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "איטלקית"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "יפנית"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "קוריאנית"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "הולנדית"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "נורווגית"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "פולנית"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "רוסית"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "שוודית"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "תאילנדית"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "טורקית"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "ווייטנאמית"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "סינית"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "נשלח"
@@ -716,7 +716,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -837,7 +837,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "מקט"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "רכיב"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr ""
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "כמות"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "מספרים סידוריים"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "אשר"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "מספרים סידוריים לא נמצאו"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index fbf6e0ec28..03bec7ef0a 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Dátum megadása"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Dátum megadása"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Megjegyzések"
@@ -105,75 +105,75 @@ msgstr "A megadott elsődleges email cím nem valós."
msgid "The provided email domain is not approved."
msgstr "A megadott email domain nincs jóváhagyva."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Csatlakozási hiba"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "A kiszolgáló érvénytelen státuszkóddal válaszolt"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Kivétel történt"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "A kiszolgáló érvénytelen Content-Length értéket adott"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "A kép mérete túl nagy"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "A kép letöltés meghaladja a maximális méretet"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "A kiszolgáló üres választ adott"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "A megadott URL nem egy érvényes kép fájl"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Üres sorozatszám"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplikált sorozatszám"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Érvénytelen csoport tartomány: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Több lett megadva {g} mint amennyi szükséges lenne ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Érvénytelen csoport szekvencia: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Nem található sorozatszám"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabszámmal ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "HTML tag-ek eltávolítása ebből az értékből"
@@ -217,7 +217,7 @@ msgstr "Hiányzó fájl"
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link külső URL-re"
@@ -259,11 +259,11 @@ msgstr "Leírás, bővebb infó"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Felhasználó"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Érvénytelen választás"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Név"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Leírás"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "szülő"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Elérési út"
@@ -400,189 +400,189 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Pénznem"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Válassz pénznemet a lehetőségek közül"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Fájlnév"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Érvénytelen érték"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Adat fájl"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Fájl kiválasztása feltöltéshez"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Nem támogatott fájltípus"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Fájl túl nagy"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Nem találhatók oszlopok a fájlban"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Nincsenek adatsorok a fájlban"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Nincs adatsor megadva"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Nincs adat oszlop megadva"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Szükséges oszlop hiányzik: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplikált oszlop: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "A távoli kép URL-je"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Cseh"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dán"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Német"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Görög"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Angol"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spanyol (Mexikói)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Fárszi/Perzsa"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francia"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Héber"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Magyar"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Olasz"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japán"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreai"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Holland"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norvég"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Lengyel"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugál"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugál (Brazíliai)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Orosz"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Szlovén"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Svéd"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tháj"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Török"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnámi"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Kínai"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Háttér folyamat ellenőrzés sikertelen"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "Folyamatban"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Kiszállítva"
@@ -716,7 +716,7 @@ msgstr "Szülő tételből szétválasztva"
msgid "Split child item"
msgstr "Szétválasztott gyermek tétel"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Összevont készlet tétel"
@@ -837,7 +837,7 @@ msgstr "Gyártási utasítás"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Gyártási utasítás azonosító"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Azonosító"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Alkatrész"
@@ -944,8 +944,8 @@ 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:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Forrás hely"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Gyártás státusz kód"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batch kód"
@@ -994,7 +994,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:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,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:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Elkészítés dátuma"
@@ -1018,7 +1018,7 @@ msgstr "Elkészítés dátuma"
msgid "completed by"
msgstr "elkészítette"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Kiállította"
@@ -1030,10 +1030,10 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Külső link"
@@ -1107,7 +1110,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:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Gyártás"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Gyártás amihez készletet foglaljunk"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Készlet tétel"
@@ -1143,7 +1146,7 @@ msgstr "Forrás készlet tétel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Forrás készlet tétel"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Forrás készlet tétel"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Forrás készlet tétel"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Mennyiség"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Cél készlet tétel"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Gyártás kimenet"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Sorozatszámok"
@@ -1255,7 +1258,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Hely"
@@ -1290,13 +1293,13 @@ msgstr "A kész gyártási kimenetek helye"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Állapot"
@@ -1306,8 +1309,7 @@ msgstr "Hiányos foglalás elfogadása"
#: build/serializers.py:388
msgid "Complete outputs if stock has not been fully allocated"
-msgstr ""
-"Kimenetek befejezése akkor is ha a készlet nem\n"
+msgstr "Kimenetek befejezése akkor is ha a készlet nem\n"
"lett teljesen lefoglalva"
#: build/serializers.py:457
@@ -1328,7 +1330,7 @@ msgstr "A nem befejezett gyártási kimenetek törlése"
#: build/serializers.py:492
msgid "Not permitted"
-msgstr ""
+msgstr "Nem engedélyezett"
#: build/serializers.py:493
msgid "Accept as consumed by this build order"
@@ -1378,8 +1380,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve"
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1395,7 +1397,7 @@ msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "A tételnek kell legyen készlete"
@@ -1585,13 +1587,13 @@ msgstr "Még nincs lefoglalva a szükséges készlet"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Cél dátum"
@@ -1620,7 +1622,7 @@ msgid "Completed"
msgstr "Kész"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1630,7 +1632,7 @@ msgstr "Kész"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Vevői rendelés"
@@ -1641,19 +1643,19 @@ msgid "Issued By"
msgstr "Kiállította"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Prioritás"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Gyártási utasítás törlése"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr "Gyártási utasítás QR kódja"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr "Vonalkód gyártáshoz rendelése"
@@ -1684,11 +1686,11 @@ msgstr "Lefoglalt alkatrészek"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1698,7 +1700,7 @@ msgstr "Batch"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Létrehozva"
@@ -1718,7 +1720,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:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Készlet felszabadítása"
@@ -1812,7 +1814,7 @@ msgstr "Befejezett gyártási kimenetek"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1826,11 +1828,11 @@ msgstr "Mellékletek"
msgid "Build Notes"
msgstr "Gyártási megjegyzések"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Lefoglalás kész"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "A szükséges készlet már mind le lett foglalva"
@@ -1983,7 +1985,7 @@ msgstr "Verzió infók megjelenítésének tiltása"
msgid "Show the `about` modal only to superusers"
msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Cég neve"
@@ -2189,7 +2191,7 @@ msgstr "Kategória paraméter sablonok másolása"
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:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2199,7 +2201,7 @@ msgstr "Sablon"
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2210,7 +2212,7 @@ msgstr "Gyártmány"
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:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Összetevő"
@@ -2219,7 +2221,7 @@ msgstr "Összetevő"
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:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Beszerezhető"
@@ -2227,7 +2229,7 @@ msgstr "Beszerezhető"
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Értékesíthető"
@@ -2236,7 +2238,7 @@ msgstr "Értékesíthető"
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2247,7 +2249,7 @@ msgstr "Követésre kötelezett"
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -2788,11 +2790,11 @@ msgstr "Nincs nyomtató (nyomtatás PDF-be)"
#: common/models.py:1746
msgid "Hide inactive parts"
-msgstr ""
+msgstr "Inaktív alkatrészek elrejtése"
#: common/models.py:1747
msgid "Hide inactive parts in results displayed on the homepage"
-msgstr ""
+msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon"
#: common/models.py:1753
msgid "Show subscribed parts"
@@ -3182,7 +3184,7 @@ msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban"
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3206,7 +3208,7 @@ msgstr "Végpont ahol ez a webhook érkezik"
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3290,8 +3292,8 @@ msgstr "Cím"
msgid "Published"
msgstr "Közzétéve"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Szerző"
@@ -3308,7 +3310,13 @@ msgstr "Elolvasva"
msgid "Was this news item read?"
msgstr "Elolvasva?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Kép"
@@ -3342,7 +3350,7 @@ msgid "Error raised by plugin"
msgstr "Plugin hiba"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3379,112 +3387,112 @@ msgstr "Importált alkatrészek"
msgid "Previous Step"
msgstr "Előző lépés"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Cég leírása"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "A cég leírása"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Weboldal"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Cég weboldala"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Cím"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Cég címe"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefonszám"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Kapcsolattartó telefonszáma"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Email"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Kapcsolattartó email címe"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Névjegy"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Kapcsolattartó"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "vevő-e"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Értékesítesz alkatrészeket ennek a cégnek?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "beszállító-e"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Vásárolsz alkatrészeket ettől a cégtől?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "gyártó-e"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Cég"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Válassz alkatrészt"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3494,12 +3502,12 @@ msgstr "Válassz alkatrészt"
msgid "Manufacturer"
msgstr "Gyártó"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Gyártó kiválasztása"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3509,60 +3517,60 @@ msgstr "Gyártó kiválasztása"
msgid "MPN"
msgstr "MPN"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Gyártói cikkszám"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL link a gyártói alkatrészhez"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Gyártói alkatrész leírása"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Paraméter neve"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Érték"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Mértékegység"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Paraméter mértékegység"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3573,12 +3581,12 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr
msgid "Supplier"
msgstr "Beszállító"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Beszállító kiválasztása"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3586,53 +3594,53 @@ msgstr "Beszállító kiválasztása"
msgid "SKU"
msgstr "SKU"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Beszállítói cikkszám"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Gyártói alkatrész kiválasztása"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "URL link a beszállítói alkatrészhez"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Csomagolás"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3644,23 +3652,23 @@ msgstr "Alkatrész csomagolás"
msgid "Pack Quantity"
msgstr "Csomagolási mennyiség"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Egy csomagban lévő mennyiség"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "többszörös"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Többszörös rendelés"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3668,19 +3676,19 @@ msgstr "Többszörös rendelés"
msgid "Available"
msgstr "Elérhető"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Beszállítónál elérhető mennyiség"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Elérhetőség frissítve"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Utolsó elérhetőségi adat frissítés"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Beszállító által használt alapértelmezett pénznem"
@@ -3711,6 +3719,18 @@ msgstr "Cég törlése"
msgid "Delete Company"
msgstr "Cég törlése"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3728,14 +3748,14 @@ msgstr "Kép törlése"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Vevő"
@@ -3749,7 +3769,7 @@ msgid "Phone"
msgstr "Telefonszám"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Kép eltávolítása"
@@ -3758,14 +3778,14 @@ msgid "Remove associated image from this company"
msgstr "Céghez rendelt kép eltávolítása"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Törlés"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Kép feltöltése"
@@ -3830,7 +3850,7 @@ msgstr "Beszállítói készlet"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3853,7 +3873,7 @@ msgstr "Új beszerzési rendelés"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3871,7 +3891,7 @@ msgid "New Sales Order"
msgstr "Új vevői rendelés"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
@@ -3887,12 +3907,12 @@ msgid "Return Orders"
msgstr "Visszavételi utasítások"
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr "Visszavételi utasítás létrehozása"
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr "Új visszavételi utasítás"
@@ -3958,9 +3978,9 @@ msgstr "Beszállítói alkatrész törlése"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Törlés"
@@ -3982,8 +4002,8 @@ msgstr "Új paraméter"
msgid "Delete parameters"
msgstr "Paraméterek törlése"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Paraméter hozzáadása"
@@ -4008,11 +4028,11 @@ msgid "Contacts"
msgstr "Névjegyek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
@@ -4097,7 +4117,7 @@ msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez"
msgid "Update Part Availability"
msgstr "Alkatrész elérhetőség frissítése"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4105,7 +4125,7 @@ msgstr "Alkatrész elérhetőség frissítése"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -4139,78 +4159,91 @@ msgstr "Cégek"
msgid "New Company"
msgstr "Új cég"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Címke neve"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Címke leírása"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Címke"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Címke sablon fájl"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Engedélyezve"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Címke sablon engedélyezve"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Szélesség [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Címke szélessége, mm-ben"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Magasság [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Címke magassága, mm-ben"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Fájlnév minta"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Minta a címke fájlnevek előállításához"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Szűrők"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Teljes ár"
@@ -4218,7 +4251,7 @@ msgstr "Teljes ár"
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4228,11 +4261,11 @@ msgstr "Nincs egyező beszerzési rendelés"
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Ismeretlen"
@@ -4242,11 +4275,11 @@ msgstr "A rendelés teljes ára"
#: order/models.py:75 order/serializers.py:48
msgid "Order Currency"
-msgstr ""
+msgstr "Megrendelés pénzneme"
#: order/models.py:77 order/serializers.py:49
msgid "Currency for this order (leave blank to use company default)"
-msgstr ""
+msgstr "Megrendeléshez használt pénznem (hagyd üresen a cég alapértelmezett pénznemének használatához)"
#: order/models.py:206
msgid "Contact does not match selected company"
@@ -4401,7 +4434,7 @@ msgstr "törölve"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Rendelés"
@@ -4423,9 +4456,9 @@ msgstr "Beérkezett"
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Beszerzési ár"
@@ -4573,7 +4606,7 @@ msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasítás
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr "Visszavételi utasítás"
@@ -4927,7 +4960,7 @@ msgstr "Kijelöltek másolása"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4986,11 +5019,11 @@ msgstr "Sortételek"
msgid "Received Stock"
msgstr "Beérkezett készlet"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Beszerzési rendelés tételei"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4999,35 +5032,35 @@ msgstr "Beszerzési rendelés tételei"
msgid "Add Line Item"
msgstr "Sortétel hozzáadása"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr "Sortételek bevételezése"
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr "Sortételek törlése"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Egyéb tételek"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Egyéb tétel hozzáadása"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Érkezett tételek"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5117,7 +5150,7 @@ msgstr "Függő szállítmányok"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Műveletek"
@@ -5147,42 +5180,42 @@ msgstr "A {part} egységára {price}-ra módosítva"
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}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Alkatrész neve"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr "Alkatrész leírása"
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr "IPN"
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Változat"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Kulcsszavak"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "Kategória ID"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr "Kategória neve"
@@ -5194,11 +5227,11 @@ msgstr "Alapértelmezett készlethely ID"
msgid "Default Supplier ID"
msgstr "Alapértelmezett beszállító ID"
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimális készlet"
@@ -5209,7 +5242,7 @@ msgid "In Stock"
msgstr "Készleten"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5219,9 +5252,9 @@ msgstr "Rendelve"
msgid "Used In"
msgstr "Felhasználva ebben"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Lefoglalva"
@@ -5230,11 +5263,11 @@ msgstr "Lefoglalva"
msgid "Building"
msgstr "Gyártásban"
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Minimum költség"
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Maximum költség"
@@ -5251,13 +5284,13 @@ msgstr "Szülő neve"
msgid "Category Path"
msgstr "Kategória elérési út"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Alkatrészek"
@@ -5274,7 +5307,7 @@ msgstr "Alkatrészjegyzék tétel ID"
msgid "Parent IPN"
msgstr "Szülő IPN"
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "Alkatrész IPN"
@@ -5316,17 +5349,17 @@ msgstr "Teljes alkatrészjegyzék jóváhagyása"
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Alapértelmezett hely"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Teljes készlet"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Elérhető készlet"
@@ -5334,882 +5367,882 @@ msgstr "Elérhető készlet"
msgid "Input quantity for price calculation"
msgstr "Add meg a mennyiséget az árszámításhoz"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Szerkezeti"
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz."
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Alapértelmezett kulcsszavak"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Ikon (opcionális)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!"
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, 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:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik."
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!"
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr "Alkatrész leírása (opcionális)"
-#: part/models.py:869
+#: part/models.py:872
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:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Kategória"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:888
+#: part/models.py:891
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:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:968
+#: part/models.py:971
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:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "Alkatrész mértékegysége"
-#: part/models.py:987
+#: part/models.py:990
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:993
+#: part/models.py:996
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:999
+#: part/models.py:1002
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:1004
+#: part/models.py:1007
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:1009
+#: part/models.py:1012
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:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:1019
+#: part/models.py:1022
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:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr "Felhasználó aki felelős ezért az alkatrészért"
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Utolsó leltár"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr "Árszámítások gyorstárazásához használt pénznem"
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr "Minimum alkatrészjegyzék költség"
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr "Összetevők minimum költsége"
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr "Maximum alkatrészjegyzék költség"
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr "Összetevők maximum költsége"
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Minimum beszerzési ár"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr "Eddigi minimum beszerzési költség"
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "Maximum beszerzési ár"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "Eddigi maximum beszerzési költség"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "Minimum belső ár"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr "Minimum költség a belső ársávok alapján"
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "Maximum belső ár"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr "Maximum költség a belső ársávok alapján"
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr "Minimum beszállítói ár"
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr "Minimum alkatrész ár a beszállítóktól"
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr "Maximum beszállítói ár"
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr "Maximum alkatrész ár a beszállítóktól"
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Minimum alkatrészváltozat ár"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Alkatrészváltozatok számolt minimum költsége"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Maximum alkatrészváltozat ár"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr "Alkatrészváltozatok számolt maximum költsége"
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr "Számított általános minimum költség"
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr "Számított általános maximum költség"
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr "Minimum eladási ár"
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr "Minimum eladási ár az ársávok alapján"
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr "Maximum eladási ár"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr "Maximum eladási ár az ársávok alapján"
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr "Minimum eladási költség"
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr "Eddigi minimum eladási ár"
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr "Maximum eladási költség"
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr "Eddigi maximum eladási ár"
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr "Leltározható alkatrész"
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr "Tételszám"
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr "Egyedi készlet tételek száma a leltárkor"
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr "Teljes készlet a leltárkor"
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Dátum"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr "Leltározva ekkor"
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "További megjegyzések"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr "Leltározta"
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr "Minimum készlet érték"
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr "Becsült minimum raktárkészlet érték"
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr "Maximum készlet érték"
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr "Becsült maximum raktárkészlet érték"
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "Riport"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr "Leltár riport fájl (generált)"
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr "Alkatrész szám"
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr "Leltározott alkatrészek száma"
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr "Felhasználó aki a leltár riportot kérte"
-#: part/models.py:3222
+#: part/models.py:3225
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:3239
+#: part/models.py:3242
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:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:3278
+#: part/models.py:3281
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:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:3284
+#: part/models.py:3287
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:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Adat"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Szint"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)"
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:3599
+#: part/models.py:3602
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:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Jóváhagyva"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr "Ez a BOM tétel jóvá lett hagyva"
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Öröklődött"
-#: part/models.py:3621
+#: part/models.py:3624
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:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:3627
+#: part/models.py:3630
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:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
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:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3861
+#: part/models.py:3864
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:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Beszerzési pénzneme ennek a készlet tételnek"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Eredeti alkatrész"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr "Válassz eredeti alkatrészt a másoláshoz"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Kép másolása"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Kép másolása az eredeti alkatrészről"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Alkatrészjegyzék másolása"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Paraméterek másolása"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Paraméterek másolása az eredeti alkatrészről"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Kezdeti készlet mennyiség"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva."
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr "Kezdeti készlet hely"
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr "Add meg a kezdeti készlet helyét"
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)"
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)"
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr "Gyártói cikkszám"
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr "A kiválasztott cég nem érvényes beszállító"
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr "A kiválasztott cég nem érvényes gyártó"
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr "Van már ilyen gyártói alkatrész"
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr "Van már ilyen beszállítói alkatrész"
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Alkatrész másolása"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr "Kezdeti adatok másolása egy másik alkatrészről"
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Kezdeti készlet"
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr "Kezdeti készlet mennyiség létrehozása"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr "Beszállító információ"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr "Kezdeti beszállító adatok hozzáadása"
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Kategória paraméterek másolása"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából"
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra"
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre"
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre"
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr "Riport létrehozása"
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr "Riport fájl létrehozása a számított leltár adatokkal"
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr "Alaktrészek frissítése"
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal"
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr "Leltár funkció nincs engedélyezve"
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "Frissítés"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr "Alkatrész árak frissítése"
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk"
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Létező adat törlése"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt"
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr "Örököltekkel együtt"
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata"
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Hibás sorok kihagyása"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Engedély a hibás sorok kihagyására"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr "Helyettesítő alkatrészek másolása"
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor"
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Meglévő alkatrészjegyzék törlése"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt"
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr "Nincs megadva alkatrész oszlop"
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr "Több egyező alkatrész is található"
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "Nincs egyező alkatrész"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr "Az alkatrész nem lett összetevőként jelölve"
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Mennyiség nincs megadva"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Érvénytelen mennyiség"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr "Legalább egy alkatrészjegyzék tétel szükséges"
@@ -6222,25 +6255,25 @@ msgstr "Alacsony készlet értesítés"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent"
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Teljes mennyiség"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr "Teljes költség min"
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr "Teljes költség max"
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr "Leltár riport rendelkezésre áll"
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr "Egy új leltár riport készen áll a letöltésre"
@@ -6392,7 +6425,7 @@ msgstr "Leltár információ hozzáadása"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Leltár"
@@ -6498,7 +6531,7 @@ msgstr "Kapcsolódó alkatrész"
msgid "Add Related Part"
msgstr "Kapcsolódó alkatrész hozzáadása"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Teszt eredmény sablon hozzáadása"
@@ -6663,7 +6696,7 @@ msgid "Minimum stock level"
msgstr "Minimális készlet"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6686,11 +6719,15 @@ msgstr "Alkatrész QR kódja"
msgid "Link Barcode to Part"
msgstr "Vonalkód hozzárendelése az alkatrészhez"
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Számítás"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr "Alkatrészhez rendelt kép eltávolítása"
@@ -6719,7 +6756,7 @@ msgid "No supplier pricing available"
msgstr "Nincs beszállítói árinfomáció"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Alkatrészjegyzék árazás"
@@ -6757,8 +6794,8 @@ msgstr "Változatok"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Készlet"
@@ -6791,7 +6828,7 @@ msgstr "Árazás frissítése"
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Utoljára módosítva"
@@ -6815,7 +6852,7 @@ msgstr "Belső árazás"
msgid "Purchase History"
msgstr "Beszerzési előzmények"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Alkatrészváltozat árazás"
@@ -6823,7 +6860,7 @@ msgstr "Alkatrészváltozat árazás"
msgid "Overall Pricing"
msgstr "Általános árazás"
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Eladási előzmények"
@@ -6836,9 +6873,9 @@ msgid "Price range data is not available for this part."
msgstr "Nincsenek ársáv adatok ehhez az alkatrészhez."
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Ugrás az áttekintéshez"
@@ -6846,11 +6883,11 @@ msgstr "Ugrás az áttekintéshez"
msgid "Add Internal Price Break"
msgstr "Belső ársáv hozzáadása"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr "Eladási ár"
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr "Eladási ársáv hozzáadása"
@@ -7038,7 +7075,7 @@ msgstr "Plugin beállítás"
msgid "Plugin Configurations"
msgstr "Plugin beállítások"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Kulcs"
@@ -7066,7 +7103,7 @@ msgstr "Példa plugin"
msgid "Builtin Plugin"
msgstr "Beépített plugin"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Plugin"
@@ -7280,7 +7317,7 @@ msgstr "Beszállító törölve lett"
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Egységár"
@@ -7293,21 +7330,21 @@ msgstr "Egyéb tételek"
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Összesen"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Sorozatszám"
@@ -7321,12 +7358,12 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Teszt"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Eredmény"
@@ -7353,7 +7390,7 @@ msgstr "Beépített tételek"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Sorozatszám"
@@ -7394,7 +7431,7 @@ msgstr "Beszállító neve"
msgid "Customer ID"
msgstr "Vevő ID"
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Beépítve ebbe"
@@ -7419,398 +7456,398 @@ msgstr "Felülvizsgálat szükséges"
msgid "Delete on Deplete"
msgstr "Törlés ha kimerül"
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Lejárati dátum"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr "Külső hely"
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:602
+#: stock/api.py:610
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:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Készlet hely"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Készlethelyek"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Tulajdonos"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Tulajdonos kiválasztása"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre."
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Külső"
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr "Ez egy külső készlethely"
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!"
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!"
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
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:605
+#: stock/models.py:610
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:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr "A tétel nem tartozhat saját magához"
-#: stock/models.py:633
+#: stock/models.py:638
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:647
+#: stock/models.py:652
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:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Szülő készlet tétel"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Kiindulási alkatrész"
-#: stock/models.py:679
+#: stock/models.py:684
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:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:696
+#: stock/models.py:701
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:705
+#: stock/models.py:710
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:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:776
+#: stock/models.py:781
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:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:810
+#: stock/models.py:815
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:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, 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:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "A sorozatszám egész számok listája kell legyen"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
-#: stock/models.py:1456
+#: stock/models.py:1457
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:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:1486
+#: stock/models.py:1487
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:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:1659
+#: stock/models.py:1660
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:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Teszt neve"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr "Tesztek megjegyzései"
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr "Szériaszám túl nagy"
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Beszerzési ára ennek a készlet tételnek"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})"
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Írd be a sorozatszámokat az új tételekhez"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "Cél készlet hely"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr "Opcionális megjegyzés mező"
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr "Válaszd ki a beépítésre szánt készlet tételt"
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr "Készlet tétel nem elérhető"
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben"
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr "Cél hely a kiszedett tételeknek"
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr "Válassz alkatrészt amire konvertáljuk a készletet"
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz"
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr "Cél hely a visszatérő tételeknek"
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "Az alkatrésznek értékesíthetőnek kell lennie"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "A tétel egy vevő rendeléshez foglalt"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "A tétel egy gyártási utasításhoz foglalt"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr "Vevő akihez rendeljük a készlet tételeket"
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr "A kiválasztott cég nem egy vevő"
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr "Készlet hozzárendelés megjegyzései"
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr "A készlet tételek listáját meg kell adni"
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr "Készlet összevonás megjegyzései"
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr "Nem egyező beszállítók megengedése"
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése"
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr "Nem egyező állapotok megjelenítése"
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr "Különböző állapotú készletek összevonásának engedélyezése"
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr "Legalább két készlet tételt meg kell adni"
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr "Készlet tétel elsődleges kulcs értéke"
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr "Készlet tranzakció megjegyzései"
@@ -7851,7 +7888,7 @@ msgstr "Készlet tétel megjegyzések"
msgid "Installed Stock Items"
msgstr "Beépített készlet tételek"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr "Készlet tétel beépítése"
@@ -8005,7 +8042,7 @@ msgid "Available Quantity"
msgstr "Elérhető mennyiség"
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Nincs beállítva hely"
@@ -8041,35 +8078,40 @@ msgstr "Állott"
msgid "No stocktake performed"
msgstr "Még nem volt leltározva"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Készlet állapot szerkesztése"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Készlet tétel QR kódja"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Vonalkód hozzárendelése a készlet tételhez"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr "Válassz a lenti alkatrész változatok közül"
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Figyelem"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Ez a művelet nem vonható vissza könnyen"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Készlet tétel konvertálása"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Visszavétel készletre"
@@ -8143,15 +8185,20 @@ msgstr "Új készlet hely létrehozása"
msgid "New Location"
msgstr "Új hely"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr "Készlet tároló bevételezve erre a helyre"
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr "Készlet hely QR kódja"
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr "Vonalkód hozzárendelése a készlet helyhez"
@@ -8213,11 +8260,11 @@ msgstr "A(z) %(inventree_title)s kiszolgáló belső hibát jelzett"
msgid "Refer to the error log in the admin interface for further details"
msgstr "Nézd meg az admin felületen lévő hibanaplót bővebb információkért"
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr "Az oldal karbantartás alatt"
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr "Az oldal jelenleg karbantartás alatt van, hamarosan újra használható lesz!"
@@ -8253,43 +8300,43 @@ msgstr "Kimerült készlet"
msgid "Required for Build Orders"
msgstr "Gyártáshoz szükséges"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr "Lejárt készlet"
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr "Állott készlet"
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr "Folyamatban lévő gyártások"
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "Késésben lévő gyártások"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "Kintlévő beszerzési rendelések"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "Késésben lévő beszerzések"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "Függő vevői rendelések"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "Késésben lévő vevői rendelések"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr "InvenTree hírek"
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr "Jelenlegi hírek"
@@ -8299,7 +8346,7 @@ msgstr "Értesítések előzményei"
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Értesítések törlése"
@@ -8319,19 +8366,19 @@ msgstr "Mind megjelölése olvasottként"
msgid "Notifications"
msgstr "Értesítések"
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr "Nem találhatók olvasatlan értesítések"
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr "Nem található régebbi értesítés"
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr "Olvasott értesítések törlése"
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Értesítés törlése"
@@ -8360,7 +8407,7 @@ msgstr "Gyártási utasítás bellításai"
msgid "Category Settings"
msgstr "Kategória beállítások"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Kiszolgáló beállítások"
@@ -8369,20 +8416,20 @@ msgstr "Kiszolgáló beállítások"
msgid "Label Settings"
msgstr "Címke beállítások"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Belépési beállítások"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr "Kimenő email nincs beállítva. Néhány bejelentkezési és regisztrációs funkció nem fog megfelelően működni!"
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Regisztráció"
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr "Single Sign On (SSO)"
@@ -8437,57 +8484,57 @@ msgstr "Leltár beállítások"
msgid "Stocktake Reports"
msgstr "Leltár riportok"
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Plugin beállítások"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken."
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Pluginok"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Plugin Telepítése"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "Külső pluginok nincsenek engedélyezve"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Verzió"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr "Aktív pluginok"
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Inaktív pluginok"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Plugin hibatároló"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Szakasz"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Üzenet"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr "Beépített"
@@ -8495,69 +8542,69 @@ msgstr "Beépített"
msgid "Sample"
msgstr "Minta"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Plugin információ"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "nincs megadva verzió információ"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Licenc"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "A kódinformáció a plugin legújabb git commitjából származik. Előfordulhat, hogy ez nem a hivatalos verziószámokat vagy információkat, hanem a ténylegesen futó kódot tükrözi."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Csomag információ"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Telepítési mód"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Ez a plugin csomagként lett telepítve"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr "Ez a plugin a lokális kiszolgáló útvonalon található"
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Telepítési útvonal"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr "Ez egy beépített plugin amit nem lehet letiltani"
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Commit szerzője"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Commit dátuma"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Commit hash"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Commit üzenet"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Aláírás státusza"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Aláíró kulcs"
@@ -8590,12 +8637,12 @@ msgstr "Soha"
msgid "Project Code Settings"
msgstr "Projektszám beállítások"
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr "Projektszámok"
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr "Új projektszám"
@@ -8656,12 +8703,12 @@ msgid "No category parameter templates found"
msgstr "Nincs kategória paraméter sablon"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Sablon szerkesztése"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Sablon törlése"
@@ -8673,33 +8720,33 @@ msgstr "Kategória paraméter sablon szerkesztése"
msgid "Delete Category Parameter Template"
msgstr "Kategória paraméter sablon törlése"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "Kategória paraméter sablon létrehozása"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Azonosító"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr "Alkatrész paraméter sablon létrehozása"
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr "Alkatrész paraméter sablon módosítása"
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül"
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr "Alkatrész paraméter sablon törlése"
@@ -8767,7 +8814,7 @@ msgid "Change Password"
msgstr "Jelszó módosítása"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "Szerkesztés"
@@ -9040,6 +9087,7 @@ msgid "Submit Bug Report"
msgstr "Hibabejelentés küldése"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "vágólapra másolás"
@@ -9047,21 +9095,25 @@ msgstr "vágólapra másolás"
msgid "copy version information"
msgstr "verzió információk másolása"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "Email cím megerősítése"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Erősítsd meg hogy a %(email)s email a %(user_display)s felhasználó email címe."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Megerősítés"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Ez az email megerősítő link lejárt vagy hibás. Klikk ide az új megerősítési kérelem elküldéséhez."
@@ -9290,7 +9342,7 @@ msgid "Required Quantity"
msgstr "Szükséges mennyiség"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Ezért kapod ezt a levelet mert értesítést kértél erre az alkatrészre "
@@ -9298,16 +9350,16 @@ msgstr "Ezért kapod ezt a levelet mert értesítést kértél erre az alkatrés
msgid "Click on the following link to view this part"
msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez"
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Minimum mennyiség"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Nincs válasz"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "Nincs válasz az InvenTree kiszolgálótól"
@@ -9319,27 +9371,27 @@ msgstr "Error 400: Rossz kérelem"
msgid "API request returned error code 400"
msgstr "Az API kérelem 400-as hibakódot adott vissza"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Error 401: Nincs hitelesítve"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Hitelesítési adatok nem lettek megadva"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Error 403: Hozzáférés megtagadva"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Error 404: Erőforrás nem található"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "A kért erőforrás nem található a kiszolgálón"
@@ -9351,11 +9403,11 @@ msgstr "Error 405: Metódus nincs engedélyezve"
msgid "HTTP method not allowed at URL"
msgstr "HTTP metódus nincs engedélyezve ezen az URL-n"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Error 408: Időtúllépés"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben"
@@ -9420,7 +9472,7 @@ msgid "Unknown response from server"
msgstr "Ismeretlen válasz a kiszolgálótól"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Érvénytelen válasz a szervertől"
@@ -9457,48 +9509,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr "Készlet tétel vonalkód beolvasása, amit bevételezzünk erre a helyre"
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr "Bevételezés"
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr "Nincs vonalkód beolvasva"
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr "Készlet tétel már beolvasva"
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Készlet tétel már ezen a helyen van"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr "Hozzáadott készlet tétel"
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr "Vonalkód nem egyezik egy ismert készlet tétellel sem"
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr "Készlet tároló bevételezése adott helyre"
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr "Készlet tároló vonalkód beolvasása, amit bevételezzünk erre a helyre"
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr "A vonalkód nem egyezik egy ismert hellyel sem"
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "Készlet áthelyezése a leolvasott helyre"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "A vonalkód nem egyezik egy ismert hellyel sem"
@@ -9515,8 +9567,8 @@ msgid "Row Data"
msgstr "Sor adat"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9630,7 +9682,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz"
msgid "Substitutes Available"
msgstr "Vannak helyettesítők"
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr "Készletváltozatok engedélyezve"
@@ -9650,26 +9702,26 @@ msgstr "Alkatrészjegyzék árazása nem teljes"
msgid "No pricing available"
msgstr "Nincsenek árak"
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr "Nincs szabad"
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr "Változatokkal és helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr "Fogyóeszköz tétel"
@@ -9697,11 +9749,11 @@ msgstr "Alkatrészjegyzék tétel törlése"
msgid "View BOM"
msgstr "Alkatrészjegyzék megtekintése"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "Nem találhatók alkatrészjegyzék tételek"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "Szükséges alkatrész"
@@ -9831,170 +9883,178 @@ 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:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "Nem található aktív gyártási kimenet"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr "Nincsenek követett alkatrészjegyzék tételek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr "Befejezett tesztek"
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr "Foglalás szerkesztése"
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr "Foglalás törlése"
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr "Vannak helyettesítő alkatrészek"
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Szükséges/db"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr "Van elegendő"
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr "Gyártási készlet"
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Készlet rendelés"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Kiválasztott alkatrészek"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
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:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr "Minden alkatrész lefoglalva"
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr "Minden kiválasztott alkatrész teljesen lefoglalva"
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
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:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr "Készlet foglalása a gyártási utasításhoz"
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr "Nincs egyező készlethely"
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr "Nincs egyező készlet"
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr "Automatikus készlet foglalás"
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint"
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, 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:2415
+#: templates/js/translated/build.js:2417
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:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr "Készlet tételek foglalása"
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "Kiválaszt"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr "Gyártás késésben van"
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr "Haladás"
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "Nincs felhasználói információ"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr "csoport"
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr "Nincs lefoglalt alkatrész ehhez"
@@ -10177,12 +10237,12 @@ msgid "Delete price break"
msgstr "Ársáv törlése"
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "igaz"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "hamis"
@@ -10214,7 +10274,7 @@ msgstr "Új szűrő hozzáadása"
msgid "Clear all filters"
msgstr "Összes szűrő törlése"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Szűrő létrehozása"
@@ -10276,11 +10336,11 @@ msgstr "Mező név"
msgid "Select Columns"
msgstr "Oszlopok kiválasztása"
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "IGEN"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "NEM"
@@ -10293,8 +10353,8 @@ msgid "Export to PDF"
msgstr "Exportálás PDF-be"
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "kiválasztott készlet tételek"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10321,12 +10381,12 @@ msgid "Labels sent to printer"
msgstr "Címkék nyomtatónak elküldve"
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Mégsem"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Küldés"
@@ -10335,47 +10395,47 @@ msgstr "Küldés"
msgid "Form Title"
msgstr "Form megnevezése"
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr "Várakozás a kiszolgálóra..."
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr "Hibainformációk megjelenítése"
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr "Elfogadás"
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr "Adatok betöltése"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr "Rossz válasz a kiszolgálótól"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr "Űrlap adat hiányzik a kiszolgálótól kapott válaszban"
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Form adat küldési hiba"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr "JSON válasz hiányzó form adatok"
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "Error 400: Rossz kérelem"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "A kiszolgáló 400-as hibakódot adott vissza"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Form adat lekérése sikertelen"
@@ -10661,7 +10721,7 @@ msgstr "Nem található beszerzési rendelés"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr "Ez a sortétel késésben van"
@@ -10678,111 +10738,113 @@ msgstr "Alkatrész kapcsolatok törlése"
msgid "Delete Part Relationship"
msgstr "Alkatrész kapcsolatok törlése"
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Nincs alkatrész"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Nincs kategória"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Megjelenítés listaként"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Megjelenítés rácsnézetként"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr "Kategória beállítása a kiválasztott alkatrészekhez"
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Alkatrész kategória beállítása"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr "Alkatrész kategória kiválasztása"
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr "Kategória megadása kötelező"
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Nem található vevői rendelés"
+msgstr "Nem találhatóak alkategóriák"
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Megjelenítés fában"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr "Alkategóriák betöltése"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr "Értesítésre beállított kategória"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr "Nincs a lekérdezéssel egyező teszt sablon"
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr "Ez a teszt a szülő alkatrészhez lett felvéve"
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr "Teszt eredmény sablon szerkesztése"
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr "Teszt eredmény sablon törlése"
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr "Nincs megadva dátum"
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr "A megadott dátum a múltban van"
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr "Spekulatív"
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ"
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr "Hiba az alkatrész ütemezési információinak betöltésekor"
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr "Ütemezett készlet mennyiség"
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr "Minimum mennyiség"
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr "Minimális készlet"
@@ -10948,7 +11010,7 @@ msgid "Quantity to receive"
msgstr "Érkező mennyiség"
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr "Készlet állapota"
@@ -11027,37 +11089,37 @@ msgid "Delete selected Line items?"
msgstr "Töröljük a kiválasztott sortételeket?"
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr "Sortétel másolása"
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr "Sortétel törlése"
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr "Sortétel másolása"
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr "Sortétel szerkesztése"
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr "Sortétel törlése"
@@ -11124,7 +11186,7 @@ msgid "Receive Return Order Items"
msgstr "Visszavételi utasítás tételeinek bevételezése"
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr "Nincs egyező sortétel"
@@ -11229,7 +11291,7 @@ msgid "Shipment Reference"
msgstr "Szállítmány azonosító"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "Nincs kiszállítva"
@@ -11241,71 +11303,71 @@ msgstr "Nyomkövetés"
msgid "Invoice"
msgstr "Számla"
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr "Szállítmány hozzáadása"
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Készlet foglalás megerősítése"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr "Készlet foglalása a vevői rendeléshez"
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr "Nincs vevői rendeléshez történő foglalás"
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Törlési művelet megerősítése"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "Vevőnek kiszállítva"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr "Készlethely nincs megadva"
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Készletrendelés"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Árszámítás"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr "Nem törölhető mivel a tételek ki lettek szállítva"
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr "Nem törölhető mivel tételek vannak lefoglalva"
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Egységár módosítása"
@@ -11505,7 +11567,7 @@ msgstr "Kivesz"
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Hozzáad"
@@ -11585,164 +11647,172 @@ msgstr "Vevő rendeléshez hozzárendelve"
msgid "No stock location set"
msgstr "Nincs hely megadva"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "Készlet tétel gyártás alatt"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva"
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr "Készlet tétel teljes egészében lefoglalva"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr "Készlet tétel részben lefoglalva"
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr "Készlet tétel beépítve egy másikba"
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr "Készlet tétel lejárt"
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr "Készlet tétel hamarosan lejár"
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr "Készlet tétel elutasítva"
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr "Készlet tétel elveszett"
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr "Készlet tétel megsemmisült"
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr "Kimerült"
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr "Beszállítói alkatrész nincs megadva"
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr "Készletérték"
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr "Nincs a lekérdezésnek megfelelő készlet tétel"
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Készlet állapot beállítása"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Státuszkód kiválasztása"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Státuszkódot ki kell választani"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr "Alhelyek betöltése"
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Részletek"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr "Alkatrész információ nem áll rendelkezésre"
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "A hely már nem létezik"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "Beszerzési megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr "Vevői megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr "Visszavételi utasítás már nem létezik"
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "Vevő már nem létezik"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "A készlet tétel már nem létezik"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Hozzáadva"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Eltávolítva"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr "Nincsenek beépített tételek"
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr "Készlet tétel kiszedése"
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr "Válaszd ki a kiszedni való készlet tételt"
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr "Másik tétel beépítése ebbe a készlet tételbe"
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat"
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek"
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr "A készlet tétel jelenleg elérhető készleten"
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr "A készlet tétel még nem épült be egy másik tételbe"
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal"
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr "Válaszd ki a beépítendő alkatrészt"
@@ -12173,8 +12243,7 @@ msgstr "Tovább"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr "A %(provider_name)s felhasználói fiókodat fogod használni a %(site_name)s belépéshez.
Kérlek töltsd ki az alábbi adatokat:"
@@ -12322,34 +12391,35 @@ msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Csoport"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Nézet"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Jogosultság tételek törléséhez"
+
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 99da652892..84b4305510 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Masukkan tanggal"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Masukkan tanggal"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Catatan"
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Ukuran gambar terlalu besar"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "URL yang diberikan bukan file gambar yang valid"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Jumlah yang diberikan tidak valid"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Nomor seri kosong"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Jangkauan grup tidak valid: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Urutan grup tidak valid: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Tidak ada nomor seri ditemukan"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr "File tidak ditemukan"
msgid "Missing external link"
msgstr "Tautan eksternal tidak ditemukan"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Lampiran"
msgid "Select file to attach"
msgstr "Pilih file untuk dilampirkan"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Tautan"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Tautan menuju URL eksternal"
@@ -259,11 +259,11 @@ msgstr "Komentar file"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Pengguna"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Pilihan tidak valid"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nama"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Keterangan"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "induk"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Direktori"
@@ -400,189 +400,189 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nama File"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Nilai tidak valid"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "File data"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Pilih file untuk diunggah"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Jenis file tidak didukung"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Ukuran file terlalu besar"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Tidak ditemukan kolom dalam file"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Tidak ditemukan barisan data dalam file"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Tidak ada barisan data tersedia"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Tidak ada kolom data tersedia"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Kolom yang diperlukan kurang: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Kolom duplikat: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL file gambar external"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Ceko"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Denmark"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Jerman"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Yunani"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Inggris"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spanyol (Meksiko)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persia"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Perancis"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Ibrani"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Hungaria"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Itali"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Jepang"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Korea"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Belanda"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norwegia"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polandia"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugis"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugis (Brasil)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Rusia"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Swedia"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thai"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turki"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnam"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Cina"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Dikirim"
@@ -716,7 +716,7 @@ msgstr "Dipisah dari item induk"
msgid "Split child item"
msgstr "Pisah item dari barang induk"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Stok item digabungkan"
@@ -837,7 +837,7 @@ msgstr "Order Produksi"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Referensi Order Produksi"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referensi"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Produksi induk dari produksi ini"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Produksi induk dari produksi ini"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Produksi induk dari produksi ini"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Bagian"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Order penjualan yang teralokasikan ke pesanan ini"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Lokasi Sumber"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Kode status pembuatan"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Kode Kelompok"
@@ -994,7 +994,7 @@ msgstr "Kode Kelompok"
msgid "Batch code for this build output"
msgstr "Kode kelompok untuk hasil produksi ini"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Tanggal selesai"
@@ -1018,7 +1018,7 @@ msgstr "Tanggal selesai"
msgid "completed by"
msgstr "diselesaikan oleh"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Diserahkan oleh"
@@ -1030,10 +1030,10 @@ msgstr "Pengguna yang menyerahkan order ini"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Tautan eksternal"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Produksi"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Stok Item"
@@ -1143,7 +1146,7 @@ msgstr "Sumber stok item"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Sumber stok item"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Sumber stok item"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Sumber stok item"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Jumlah"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Tujuan stok item"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Hasil Produksi"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Masukkan jumlah hasil pesanan"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Nomor Seri"
@@ -1255,7 +1258,7 @@ msgstr "Alokasikan nomor seri secara otomatis"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Daftar hasil pesanan harus disediakan"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Lokasi"
@@ -1290,13 +1293,13 @@ msgstr "Lokasi hasil pesanan yang selesai"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup"
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Item tagihan material"
@@ -1393,7 +1396,7 @@ msgstr "Hasil pesanan harus mengarah ke pesanan yang sama"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Item harus tersedia dalam stok"
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN harus sesuai dengan pola regex {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Konfirmasi"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Tidak ada nomor seri ditemukan"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 26b1ad0dd5..6f3d16f764 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Inserisci la data"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Inserisci la data"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Note"
@@ -105,75 +105,75 @@ msgstr "L'indirizzo email principale fornito non è valido."
msgid "The provided email domain is not approved."
msgstr "L'indirizzo di posta elettronica fornito non è approvato."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Errore di connessione"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Il server ha risposto con un codice di stato non valido"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Si è verificata un'eccezione"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Il server ha risposto con valore Content-Length non valido"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Immagine troppo grande"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Il download dell'immagine ha superato la dimensione massima"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Il server remoto ha restituito una risposta vuota"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "L'URL fornito non è un file immagine valido"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Numero seriale vuoto"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Seriale Duplicato"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Range gruppo: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "L'intervallo {g} supera la quantità consentita ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Sequenza gruppo non valida: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Nessun numero di serie trovato"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Rimuovi i tag HTML da questo valore"
@@ -217,7 +217,7 @@ msgstr "File mancante"
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Collegamento"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link a URL esterno"
@@ -259,11 +259,11 @@ msgstr "Commento del file"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Utente"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Scelta non valida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nome"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Descrizione"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "genitore"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Percorso"
@@ -400,189 +400,189 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selezionare la valuta dalle opzioni disponibili"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nome del file"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Valore non valido"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "File dati"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Seleziona un file per il caricamento"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Formato file non supportato"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "File troppo grande"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Nessun colonna trovata nel file"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Nessuna riga di dati trovata nel file"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Nessun dato fornito"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Nessuna colonna di dati fornita"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Colonna richiesta mancante: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Colonna duplicata: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL del file immagine remota"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Ceco"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Danese"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spagnolo (Messicano)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persiano"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ungherese"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portoghese"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Sloveno"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Cinese"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Controllo in background non riuscito"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "In corso"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Spedito"
@@ -716,7 +716,7 @@ msgstr "Diviso dall'elemento genitore"
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Elemento stock raggruppato"
@@ -837,7 +837,7 @@ msgstr "Ordine di Produzione"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Riferimento Ordine Di Produzione"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Riferimento"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Articolo"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Ordine di vendita a cui questa produzione viene assegnata"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Posizione Di Origine"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Codice stato di produzione"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Codice Lotto"
@@ -994,7 +994,7 @@ msgstr "Codice Lotto"
msgid "Batch code for this build output"
msgstr "Codice del lotto per questa produzione"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Data di completamento"
@@ -1018,7 +1018,7 @@ msgstr "Data di completamento"
msgid "completed by"
msgstr "Completato da"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Rilasciato da"
@@ -1030,10 +1030,10 @@ msgstr "Utente che ha emesso questo ordine di costruzione"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Collegamento esterno"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Articolo in giacenza selezionato non trovato nel BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Produzione"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Costruisci per allocare gli articoli"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Articoli in magazzino"
@@ -1143,7 +1146,7 @@ msgstr "Origine giacenza articolo"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Origine giacenza articolo"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Origine giacenza articolo"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Origine giacenza articolo"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Quantità"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Genera Output"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Inserisci la quantità per l'output di compilazione"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Codice Seriale"
@@ -1255,7 +1258,7 @@ msgstr "Numeri di Serie Assegnazione automatica"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "I seguenti numeri di serie sono già esistenti o non sono validi"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Deve essere fornito un elenco dei risultati di produzione"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Posizione"
@@ -1290,13 +1293,13 @@ msgstr "Posizione per gli output di build completati"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Stato"
@@ -1376,8 +1379,8 @@ msgstr "La quantità di produzione richiesta non è stata completata"
msgid "Build order has incomplete outputs"
msgstr "L'ordine di produzione ha output incompleti"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1393,7 +1396,7 @@ msgstr "L'output di produzione deve puntare alla stessa produzione"
msgid "bom_item.part must point to the same part as the build order"
msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "L'articolo deve essere disponibile"
@@ -1583,13 +1586,13 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Data scadenza"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Completato"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Completato"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Ordini di Vendita"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Inviato da"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Priorità"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Elimina Ordine Build"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr "Genera Codice QR Ordine"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr "Collega il codice a barre all'ordine di build"
@@ -1682,11 +1685,11 @@ msgstr "Articoli Assegnati"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Lotto"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Creato"
@@ -1716,7 +1719,7 @@ msgstr "Ordine di Produzione Subordinato"
msgid "Allocate Stock to Build"
msgstr "Assegna Scorte alla Produzione"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Scorte Non Assegnate"
@@ -1810,7 +1813,7 @@ msgstr "Produzioni Completate"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Allegati"
msgid "Build Notes"
msgstr "Genera Note"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Assegnazione Completa"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Tutte le giacenze non tracciate sono state assegnate"
@@ -1981,7 +1984,7 @@ msgstr "Limita visualizzazione `Informazioni`"
msgid "Show the `about` modal only to superusers"
msgstr "Mostra la modalità `Informazioni` solo ai superusers"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Nome azienda"
@@ -2187,7 +2190,7 @@ msgstr "Copia Template Parametri Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Modello"
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Assemblaggio"
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:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2220,7 @@ msgstr "Componente"
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:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Acquistabile"
@@ -2225,7 +2228,7 @@ msgstr "Acquistabile"
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendibile"
@@ -2234,7 +2237,7 @@ msgstr "Vendibile"
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Tracciabile"
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste del
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr "Scadenza in cui questa notifica viene ricevuta"
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Titolo"
msgid "Published"
msgstr "Pubblicato"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autore"
@@ -3306,7 +3309,13 @@ msgstr "Letto"
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Immagine"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Errore generato dal plugin"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Articoli importati"
msgid "Previous Step"
msgstr "Passaggio Precedente"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Descrizione azienda"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Descrizione dell'azienda"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Sito Web"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Sito web aziendale"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Indirizzo"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Indirizzo dell'azienda"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefono"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Numero di telefono di contatto"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Email"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Indirizzo email"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Contatto"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Punto di contatto"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "è un cliente"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Vendi oggetti a questa azienda?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "è un fornitore"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Acquistate articoli da questa azienda?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "è un produttore"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Questa azienda produce articoli?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Valuta predefinita utilizzata per questa azienda"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Azienda"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Articolo di base"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Seleziona articolo"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Seleziona articolo"
msgid "Manufacturer"
msgstr "Produttore"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Seleziona Produttore"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Seleziona Produttore"
msgid "MPN"
msgstr "Codice articolo produttore (MPN)"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Codice articolo produttore"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Descrizione articolo costruttore"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Codice articolo produttore"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Nome parametro"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Valore"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Unità"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Unità parametri"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo
msgid "Supplier"
msgstr "Fornitore"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Seleziona fornitore"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Seleziona fornitore"
msgid "SKU"
msgstr "SKU"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Unità di giacenza magazzino fornitore"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Selezionare un produttore"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Nota"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "costo base"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Confezionamento"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Imballaggio del pezzo"
msgid "Pack Quantity"
msgstr "Quantità Confezione"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Quantità unitaria contenuta in una singola confezione"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "multiplo"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Ordine multiplo"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Ordine multiplo"
msgid "Available"
msgstr "Disponibile"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Quantità disponibile dal fornitore"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Disponibilità Aggiornata"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Valuta predefinita utilizzata per questo fornitore"
@@ -3709,6 +3718,18 @@ msgstr "Elimina azienda"
msgid "Delete Company"
msgstr "Elimina Azienda"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Elimina immagine"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Cliente"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefono"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Rimuovi immagine"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Rimuovi l'immagine associata a questa azienda"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Rimuovi"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Carica immagine"
@@ -3828,7 +3849,7 @@ msgstr "Giacenza Fornitore"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Nuovo Ordine di Acquisto"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Nuovo Ordine di Vendita"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Assegna Giacenza"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr "Ordini di reso"
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr "Crea nuovo ordine di reso"
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr "Nuovo Ordine Di Reso"
@@ -3956,9 +3977,9 @@ msgstr "Elimina articolo fornitore"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Elimina"
@@ -3980,8 +4001,8 @@ msgstr "Nuovo Parametro"
msgid "Delete parameters"
msgstr "Elimina il parametro"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Aggiungi parametro"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr "Contatti"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Articolo Fornitore"
@@ -4095,7 +4116,7 @@ msgstr "Collega Codice a Barre con l'Articolo Fornitore"
msgid "Update Part Availability"
msgstr "Aggiorna Disponibilità Articolo"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "Aggiorna Disponibilità Articolo"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -4137,78 +4158,91 @@ msgstr "Aziende"
msgid "New Company"
msgstr "Nuova Azienda"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Nome etichetta"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Descrizione etichetta"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etichetta"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "File modello etichetta"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Abilitato"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Modello di etichetta abilitato"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Larghezza [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Larghezza dell'etichetta, specificata in mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Altezza [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Larghezza dell'etichetta, specificata in mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Formato del nome file"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Formato del nome file per la generazione etichetta"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtri"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Prezzo Totale"
@@ -4216,7 +4250,7 @@ msgstr "Prezzo Totale"
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr "Nessun ordine di acquisto corrispondente trovato"
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Sconosciuto"
@@ -4399,7 +4433,7 @@ msgstr "eliminato"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Ordine"
@@ -4421,9 +4455,9 @@ msgstr "Ricevuto"
msgid "Number of items received"
msgstr "Numero di elementi ricevuti"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Prezzo di Acquisto"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr "Restituisci ordine"
@@ -4925,7 +4959,7 @@ msgstr "Duplica selezionati"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Elementi Riga"
msgid "Received Stock"
msgstr "Stock Ricevuto"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Elementi D'Ordine D'Acquisto"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Elementi D'Ordine D'Acquisto"
msgid "Add Line Item"
msgstr "Aggiungi Elemento Riga"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr "Ricevi Oggetti Riga"
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr "Elimina Elementi Riga"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Linee Extra"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Aggiungi Linea Extra"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Elementi Ricevuti"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Spedizione in sospeso"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Azioni"
@@ -5145,42 +5179,42 @@ msgstr "Aggiornato {part} prezzo unitario a {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nome Articolo"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr "Descrizione Articolo"
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Revisione"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Parole Chiave"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "Id Categoria"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr "Nome Categoria"
@@ -5192,11 +5226,11 @@ msgstr "Posizione Predefinita ID"
msgid "Default Supplier ID"
msgstr "ID Fornitore Predefinito"
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante Di"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Scorta Minima"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "In magazzino"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "Ordinato"
msgid "Used In"
msgstr "Utilizzato In"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Allocato"
@@ -5228,11 +5262,11 @@ msgstr "Allocato"
msgid "Building"
msgstr "In Costruzione"
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Costo Minimo"
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Costo Massimo"
@@ -5249,13 +5283,13 @@ msgstr "Nome Principale"
msgid "Category Path"
msgstr "Percorso Categoria"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Articoli"
@@ -5272,7 +5306,7 @@ msgstr "ID Elemento Distinta Base"
msgid "Parent IPN"
msgstr "IPN Principale"
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "IPN Articolo"
@@ -5314,17 +5348,17 @@ msgstr "Convalida l'intera Fattura dei Materiali"
msgid "This option must be selected"
msgstr "Questa opzione deve essere selezionata"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Posizione Predefinita"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Giacenze Totali"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Disponibilità in magazzino"
@@ -5332,882 +5366,882 @@ msgstr "Disponibilità in magazzino"
msgid "Input quantity for price calculation"
msgstr "Digita la quantità per il calcolo del prezzo"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Categorie Articolo"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Posizione predefinita per gli articoli di questa categoria"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Strutturale"
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate."
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Keywords predefinite"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Icona"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Icona (facoltativa)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!"
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)"
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN deve corrispondere al modello regex {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr "Esiste già un elemento stock con questo numero seriale"
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Un articolo con questo Nome, IPN e Revisione esiste già."
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!"
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Categoria"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:968
+#: part/models.py:971
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:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "Unita di misura per questo articolo"
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Questo articolo può essere costruito da altri articoli?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "Questo articolo può essere utilizzato per costruire altri articoli?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Questo articolo ha il tracciamento per gli elementi unici?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:1019
+#: part/models.py:1022
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:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr "Somma di controllo Distinta Base"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Somma di controllo immagazzinata Distinta Base"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "Distinta Base controllata da"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "Data di verifica Distinta Base"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Creazione Utente"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr "Utente responsabile di questo articolo"
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Ultimo Inventario"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Vendita multipla"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr "Valuta utilizzata per calcolare i prezzi"
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr "Costo Minimo Distinta Base"
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr "Costo minimo dei componenti dell'articolo"
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr "Costo Massimo Distinta Base"
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr "Costo massimo dei componenti dell'articolo"
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Importo Acquisto Minimo"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr "Costo minimo di acquisto storico"
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "Importo massimo acquisto"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "Costo massimo di acquisto storico"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "Prezzo Interno Minimo"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr "Costo minimo basato su interruzioni di prezzo interne"
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "Prezzo Interno Massimo"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr "Costo massimo basato su interruzioni di prezzo interne"
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr "Prezzo Minimo Fornitore"
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr "Prezzo minimo articolo da fornitori esterni"
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr "Prezzo Massimo Fornitore"
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni"
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Variazione di costo minimo"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Costo minimo calcolato di variazione dell'articolo"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Massima variazione di costo"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr "Costo massimo calcolato di variazione dell'articolo"
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr "Costo minimo totale calcolato"
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr "Costo massimo totale calcolato"
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr "Prezzo Di Vendita Minimo"
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr "Prezzo Di Vendita Massimo"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr "Prezzo storico minimo di vendita"
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr "Prezzo storico massimo di vendita"
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr "Articolo per l'inventario"
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr "Contatore Elemento"
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr "Numero di scorte individuali al momento dell'inventario"
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr "Totale delle scorte disponibili al momento dell'inventario"
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Data"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr "Data in cui è stato effettuato l'inventario"
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "Note aggiuntive"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr "Utente che ha eseguito questo inventario"
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr "Costo Minimo Scorta"
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr "Costo minimo stimato di magazzino a disposizione"
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr "Costo Massimo Scorte"
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr "Costo massimo stimato di magazzino a disposizione"
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "Report"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr "File Report Inventario (generato internamente)"
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr "Conteggio Articolo"
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr "Numero di articoli oggetto d'inventario"
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr "Utente che ha richiesto questo report inventario"
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili"
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr "Una prova con questo nome esiste già per questo articolo"
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Nome Test"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Inserisci un nome per la prova"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Inserisci descrizione per questa prova"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Richiesto"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Questa prova è necessaria per passare?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Valore richiesto"
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?"
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Allegato Richiesto"
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?"
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "Il nome del modello del parametro deve essere univoco"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Nome Parametro"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Unità Parametri"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr "Descrizione del parametro"
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Articolo principale"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Modello Parametro"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Dati"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Valore del Parametro"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valore Predefinito"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Valore Parametro Predefinito"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "ID articolo o nome articolo"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Valore ID articolo univoco"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Valore IPN articolo"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Livello"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr "Livello distinta base"
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Seleziona articolo principale"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Articolo subordinato"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Seleziona l'articolo da utilizzare nella Distinta Base"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Quantità Distinta Base per questo elemento Distinta Base"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Opzionale"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Questo elemento della Distinta Base è opzionale"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumabile"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)"
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Eccedenza"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)"
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Riferimento Elemento Distinta Base"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Note Elemento Distinta Base"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Codice di controllo"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Codice di controllo Distinta Base"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Convalidato"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti"
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base"
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "L'articolo subordinato deve essere specificato"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Elemento Distinta Base Sostituito"
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sostituita non può essere la stessa dell'articolo principale"
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Elemento principale Distinta Base"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Sostituisci l'Articolo"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Articolo 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Articolo 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Seleziona Prodotto Relativo"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr "Non si può creare una relazione tra l'articolo e sé stesso"
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr "La relazione duplicata esiste già"
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Valuta di acquisto di questo articolo in stock"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Articolo Originale"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr "Seleziona l'articolo originale da duplicare"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Copia immagine"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Copia immagine dall'articolo originale"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Copia Distinta Base"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Copia fattura dei materiali dall'articolo originale"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Copia parametri"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Copia i dati dei parametri dall'articolo originale"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Quantità iniziale"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità."
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr "Ubicazione Iniziale Magazzino"
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo"
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr "Seleziona il fornitore (o lascia vuoto per saltare)"
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Seleziona il produttore (o lascia vuoto per saltare)"
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr "Codice articolo Produttore"
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr "L'azienda selezionata non è un fornitore valido"
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr "L'azienda selezionata non è un produttore valido"
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già"
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già"
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Duplica articolo"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr "Copia i dati iniziali da un altro Articolo"
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Stock iniziale"
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr "Crea Articolo con quantità di scorta iniziale"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr "Informazioni Fornitore"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo"
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Copia Parametri Categoria"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr "Copia i parametri dai modelli della categoria articolo selezionata"
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti"
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie"
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie"
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr "Genera Report"
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr "Genera file di report contenente dati di inventario calcolati"
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr "Aggiorna Articoli"
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario"
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr "La funzione Inventario non è abilitata"
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "Aggiorna"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr "Aggiorna i prezzi per questo articolo"
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr "Seleziona l'articolo da cui copiare la distinta base"
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Rimuovi Dati Esistenti"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr "Rimuovi elementi distinta base esistenti prima di copiare"
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr "Includi Ereditato"
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr "Includi gli elementi Distinta Base ereditati da prodotti template"
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Salta Righe Non Valide"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Abilita questa opzione per saltare le righe non valide"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr "Copia Articoli sostitutivi"
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base"
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Cancella Distinta Base esistente"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr "Rimuovi elementi distinta base esistenti prima del caricamento"
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr "Nessuna colonna articolo specificata"
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr "Trovati più articoli corrispondenti"
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "Nessun articolo corrispondente trovato"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr "L'articolo non è indicato come componente"
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Quantità non fornita"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Quantità non valida"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr "Almeno un elemento della distinta base è richiesto"
@@ -6220,25 +6254,25 @@ msgstr "Notifica di magazzino bassa"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato"
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Quantità Totale"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr "Costo Minimo Totale"
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr "Costo Massimo Totale"
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr "Report Inventario Disponibile"
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr "Un nuovo report di inventario è disponibile per il download"
@@ -6390,7 +6424,7 @@ msgstr "Aggiungi informazioni inventario"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Inventario"
@@ -6496,7 +6530,7 @@ msgstr "Articoli correlati"
msgid "Add Related Part"
msgstr "Aggiungi articolo correlato"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Aggiungi risultato modello test"
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Livello minimo di giacenza"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "QR Code Articolo"
msgid "Link Barcode to Part"
msgstr "Collega il codice a barre all'Articolo"
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Calcola"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr "Rimuovi l'immagine associata all'articolo"
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Nessun prezzo del fornitore disponibile"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Prezzi Distinta Base"
@@ -6755,8 +6793,8 @@ msgstr "Varianti"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Magazzino"
@@ -6789,7 +6827,7 @@ msgstr "Aggiorna prezzo articolo"
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -6813,7 +6851,7 @@ msgstr "Prezzo interno"
msgid "Purchase History"
msgstr "Cronologia acquisti"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Variazione prezzo"
@@ -6821,7 +6859,7 @@ msgstr "Variazione prezzo"
msgid "Overall Pricing"
msgstr "Prezzi Totali"
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Storico vendite"
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr "I dati della fascia di prezzo non sono disponibili per questo prodotto."
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Torna al riepilogo"
@@ -6844,11 +6882,11 @@ msgstr "Torna al riepilogo"
msgid "Add Internal Price Break"
msgstr "Aggiungi prezzo interno d'nterruzione"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr "Prezzo di Vendita"
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr "Aggiungi Prezzo Ribassato di Vendita"
@@ -7036,7 +7074,7 @@ msgstr "Configurazione Plugin"
msgid "Plugin Configurations"
msgstr "Configurazioni Plugin"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Key"
@@ -7064,7 +7102,7 @@ msgstr "Plugin di esempio"
msgid "Builtin Plugin"
msgstr "Plugin Integrato"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Plugin"
@@ -7278,7 +7316,7 @@ msgstr "Il fornitore è stato eliminato"
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Prezzo Unitario"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Totale"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Numero Seriale"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr "Risultati Test"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Risultato"
@@ -7351,7 +7389,7 @@ msgstr "Elementi installati"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Seriale"
@@ -7392,7 +7430,7 @@ msgstr "Nome Fornitore"
msgid "Customer ID"
msgstr "ID Cliente"
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Installato In"
@@ -7417,398 +7455,398 @@ msgstr "Revisione Necessaria"
msgid "Delete on Deplete"
msgstr "Elimina al esaurimento"
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Data di Scadenza"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr "Ubicazione Esterna"
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr "Deve essere fornita un articolo valido"
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile"
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Ubicazione magazzino"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Posizioni magazzino"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Proprietario"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Seleziona Owner"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie."
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Esterno"
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr "Si tratta di una posizione esterna al magazzino"
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!"
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!"
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali"
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Il tipo di articolo ('{pf}') deve essere {pe}"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantità deve essere 1 per elementi con un numero di serie"
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1"
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr "L'elemento non può appartenere a se stesso"
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True"
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo"
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Elemento di magazzino principale"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Articolo base"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino"
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr "Dove si trova questo articolo di magazzino?"
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr "Imballaggio di questo articolo di magazzino è collocato in"
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr "Questo elemento è stato installato su un altro elemento?"
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Numero di serie per questo elemento"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Codice lotto per questo elemento di magazzino"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Genera Costruzione"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Costruisci per questo elemento di magazzino"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Origina Ordine di Acquisto"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Ordine d'acquisto per questo articolo in magazzino"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Destinazione Ordine di Vendita"
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr "Prezzo di acquisto unitario al momento dell’acquisto"
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "Convertito in articolo"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "L'articolo non è impostato come tracciabile"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "La quantità deve essere un numero intero"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "La quantità non deve superare la quantità disponibile ({n})"
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "I numeri di serie devono essere numeri interi"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "La quantità non corrisponde ai numeri di serie"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "L'elemento di magazzino è installato in un altro elemento"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "L'elemento di magazzino contiene altri elementi"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "L'elemento di magazzino è stato assegnato a un cliente"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "L'elemento di magazzino è attualmente in produzione"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Il magazzino serializzato non può essere unito"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Duplica elementi di magazzino"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo"
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore"
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "I codici di stato dello stock devono corrispondere"
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Le giacenze non possono essere spostate perché non disponibili"
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Note d'ingresso"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Il valore deve essere fornito per questo test"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "L'allegato deve essere caricato per questo test"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Nome Test"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Risultato Test"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr "Test valore output"
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr "Risultato della prova allegato"
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr "Note del test"
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr "Il numero di serie è troppo grande"
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Prezzo di acquisto di questo elemento di magazzino"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Inserisci il numero di elementi di magazzino da serializzare"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "La quantità non deve superare la quantità disponibile ({q})"
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Inserisci i numeri di serie per i nuovi elementi"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "Posizione magazzino di destinazione"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr "Note opzionali elemento"
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Numeri di serie non possono essere assegnati a questo articolo"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr "Seleziona elementi di magazzino da installare"
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr "Elemento di magazzino non disponibile"
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr "L'articolo selezionato non è nella Fattura dei Materiali"
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr "Posizione di destinazione per gli elementi disinstallati"
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "Aggiungi nota di transazione (opzionale)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino"
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr "L'articolo selezionato non è una valida opzione per la conversione"
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr "Posizione di destinazione per l'elemento restituito"
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "L'articolo deve essere vendibile"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "L'elemento è assegnato a un ordine di vendita"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "Elemento assegnato a un ordine di costruzione"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr "Cliente a cui assegnare elementi di magazzino"
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr "L'azienda selezionata non è un cliente"
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr "Note sull'assegnazione delle scorte"
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr "Deve essere fornito un elenco degli elementi di magazzino"
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr "Note di fusione di magazzino"
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr "Consenti fornitori non corrispondenti"
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi"
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr "Consenti stato non corrispondente"
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato"
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr "Devono essere riforniti almeno due elementi in magazzino"
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr "Valore di chiave primaria StockItem"
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr "Note sugli spostamenti di magazzino"
@@ -7849,7 +7887,7 @@ msgstr "Note Elemento di magazzino"
msgid "Installed Stock Items"
msgstr "Elementi di magazzino installati"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr "Installa Elemento Magazzino"
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr "Quantità Disponibile"
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Nessuna posizione impostata"
@@ -8039,35 +8077,40 @@ msgstr "Obsoleto"
msgid "No stocktake performed"
msgstr "Nessun inventario eseguito"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Modifica Stato Magazzino"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Stock Item QR Code"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Collega il codice a barre all'Elemento Stock"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr "Selezionare una delle varianti dell'articolo elencate sotto."
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Attenzione"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Questa azione non può essere facilmente annullata"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Converti Elemento Stock"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Torna al Magazzino"
@@ -8141,15 +8184,20 @@ msgstr "Crea nuova posizione di magazzino"
msgid "New Location"
msgstr "Nuova Posizione"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr "Container magazzino scansionato in questa posizione"
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr "Codice QR Ubicazione Magazzino"
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr "Collega il Codice a Barre alla Posizione Magazzino"
@@ -8211,11 +8259,11 @@ msgstr "Il server %(inventree_title)s ha rilevato un errore interno"
msgid "Refer to the error log in the admin interface for further details"
msgstr "Consultare il log degli errori nell'interfaccia di amministrazione per ulteriori dettagli"
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr "Il sito è in manutenzione"
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr "Il sito è attualmente in manutenzione e dovrebbe essere online presto!"
@@ -8251,43 +8299,43 @@ msgstr "Stock esaurito"
msgid "Required for Build Orders"
msgstr "Richiesto per gli Ordini di Produzione"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr "Stock Scaduto"
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr "Stock obsoleto"
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr "Ordini di Produzione Attivi"
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "Ordini Di Produzione Scaduti"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "Ordini Di Acquisto In Corso"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "Ordini Di Acquisto In Ritardo"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "Ordini Di Vendita In Corso"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "Ordini Di Vendita in ritardo"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr "Novità InvenTree"
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr "Notizie Attuali"
@@ -8297,7 +8345,7 @@ msgstr "Cronologia Notifiche"
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Cancella Notifiche"
@@ -8317,19 +8365,19 @@ msgstr "Segna tutte come lette"
msgid "Notifications"
msgstr "Notifiche"
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr "Nessuna notifica non letta"
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr "Nessuna cronologia notifiche trovata"
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr "Elimina tutte le notifiche lette"
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr "Elimina notifica"
@@ -8358,7 +8406,7 @@ msgstr "Impostazione Ordine di Produzione"
msgid "Category Settings"
msgstr "Impostazioni categoria"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Impostazioni Server"
@@ -8367,20 +8415,20 @@ msgstr "Impostazioni Server"
msgid "Label Settings"
msgstr "Impostazioni Etichetta"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Impostazioni di accesso"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr "L'email in uscita non è stata configurata. Alcune funzioni di login e di registrazione potrebbero non funzionare correttamente!"
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Registrati"
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr "Accesso singolo"
@@ -8435,57 +8483,57 @@ msgstr "Impostazioni Inventario"
msgid "Stocktake Reports"
msgstr "Report Inventario"
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Impostazioni Plugin"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo."
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Plugin"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Installa Plugin"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Versione"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr "Plugin attivi"
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Plugin inattivi"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Plugin Errore Stack"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Stage"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Messaggio"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr "Integrato"
@@ -8493,69 +8541,69 @@ msgstr "Integrato"
msgid "Sample"
msgstr "Esempio"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Informazioni Plugin"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "nessuna informazione di versione fornita"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Licenza"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "Le informazioni sul codice vengono prelevate dall'ultimo commit git per questo plugin. Potrebbe non riflettere numeri di versione ufficiali o informazioni ma il codice effettivo in esecuzione."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Informazioni Pacchetto"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Metodo d'installazione"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Questo plugin è stato installato come pacchetto"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr "Questo plugin è stato trovato in un percorso server locale"
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Percorso d'installazione"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr "Questo è un plugin integrato che non può essere disabilitato"
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Autore Commit"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Data d'impegno"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Commit Hash"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Commit Messaggio"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Stato Firma"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Chiave Di Firma"
@@ -8588,12 +8636,12 @@ msgstr "Mai"
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr "Codice del progetto"
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr "Nuovo Codice Del Progetto"
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "Nessun parametro di categoria trovato"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Modifica Template"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Elimina Template"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr "Elimina Modello Parametro Categoria"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "Crea Template Parametro Categoria"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Nessun parametro dell'articolo templates trovato"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr "Crea Parametro Articolo Template"
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr "Modifica Parametro Articolo Template"
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr "Ogni parametro che fa riferimento a questo modello verrà eliminato"
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr "Elimina Parametro Articolo Template"
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "Modifica Password"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "Modifica"
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "Invia Segnalazione Bug"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "copia negli appunti"
@@ -9045,21 +9094,25 @@ msgstr "copia negli appunti"
msgid "copy version information"
msgstr "copia informazioni versione"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "Conferma l'indirizzo e-mail"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Si prega di confermare che %(email)s è un indirizzo email per l'utente %(user_display)s."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Conferma"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Questo link di conferma email è scaduto o non è valido. Per favoreinoltra una nuova richiesta di conferma email."
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Quantità richiesta"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Stai ricevendo questa email perché sei iscritto alle notifiche per questo articolo "
@@ -9296,16 +9349,16 @@ msgstr "Stai ricevendo questa email perché sei iscritto alle notifiche per ques
msgid "Click on the following link to view this part"
msgstr "Clicca il seguente link per visualizzare questo articolo"
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Quantità minima"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Nessuna Risposta"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "Nessuna risposta dal server InvenTree"
@@ -9317,27 +9370,27 @@ msgstr "Errore 400: Richiesta Errata"
msgid "API request returned error code 400"
msgstr "Richiesta API restituito codice di errore 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Errore 401: Non Autenticato"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Credenziali di autenticazione non fornite"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Errore 403 - Permesso negato"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Non hai i permessi necessari per accedere a questa funzione"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Errore 404: Risorsa Non Trovata"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "La risorsa richiesta non può essere localizzata sul server"
@@ -9349,11 +9402,11 @@ msgstr "Errore 405: Metodo Non Consentito"
msgid "HTTP method not allowed at URL"
msgstr "Metodo HTTP non consentito all'URL"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Errore 408: Timeout"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Timeout connessione durante la richiesta di dati dal server"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Risposta sconosciuta dal server"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Risposta del server non valida"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr "Scansione del codice a barre dell'articolo di magazzino per effettuare il check-in in questa sede"
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr "Check In"
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr "Non c'è un codice a barre"
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr "Articolo di magazzino già scansionato"
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Elemento in giacenza già in questa posizione"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr "Aggiunta di un articolo di magazzino"
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr "Il codice a barre non corrisponde a un articolo di magazzino valido"
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr "Scansione delle scorte contenute in sede"
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr "Scansionare il codice a barre di scorta contenuta per effettuare il check-in in questa sede"
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr "Il codice a barre non corrisponde a una posizione di magazzino valida"
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "Controlla Nella Posizione"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "Il codice a barre non corrisponde a una posizione valida"
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr "Dati"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr "Carica la Distinta Base per il sotto assemblaggio"
msgid "Substitutes Available"
msgstr "Sostituti Disponibili"
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr "Variante stock consentita"
@@ -9648,26 +9701,26 @@ msgstr "I prezzi Distinta Base sono incompleti"
msgid "No pricing available"
msgstr "Nessun prezzo disponibile"
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr "Nessuna Scorta Disponibile"
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr "Include variante e scorte sostitutive"
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr "Comprende varianti magazzino"
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr "Comprende le scorte sostitutive"
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr "Elementi consumabili"
@@ -9695,11 +9748,11 @@ msgstr "Cancella elemento Distinta Base"
msgid "View BOM"
msgstr "Visualizza Distinta Base"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "Nessun elemento trovato in Distinta Base"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "Articolo richiesto"
@@ -9829,170 +9882,178 @@ msgstr "Nessuna allocazione per l'ordine di produzione trovato"
msgid "Location not specified"
msgstr "Posizione non specificata"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "Nessun output di produzione attivo trovato"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr "Scorte Assegnate"
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr "Nessun elemento Distinta Base tracciato per questa produzione"
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr "Test Completati"
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr "Nessun test richiesto per questa produzione"
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Modifica allocazione magazzino"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr "Modifica Posizione"
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr "Rimuovi Posizione"
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr "Articoli sostitutivi disponibili"
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Quantità Per"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr "Scorte insufficienti disponibili"
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr "Scorte sufficienti disponibili"
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr "Produci scorta"
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Ordina scorta"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr "Assegna scorta"
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Seleziona Articoli"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr "È necessario selezionare almeno un articolo da assegnare"
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr "Specificare il quantitativo assegnato allo stock"
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr "Tutti gli articoli assegnati"
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr "Tutti gli articoli selezionati sono stati completamente assegnati"
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
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:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr "Assegna gli Elementi Stock all'Ordine di Produzione"
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr "Nessuna posizione di magazzino corrispondente"
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr "Nessun elemento corrispondente trovato"
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr "Assegna Automaticamente Scorte"
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "Gli elementi in magazzino saranno automaticamente assegnati a questo ordine di produzione, secondo le linee guida fornite"
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr "Se viene specificata una posizione, le scorte saranno assegnate solo da quella ubicazione"
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr "Se lo stock è considerato intercambiabile, sarà assegnato dal primo luogo in cui viene trovato"
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr "Se lo stock sostitutivo è ammesso, sarà utilizzato nel caso in cui lo stock dell'articolo primario non possa essere trovato"
-#: templates/js/translated/build.js:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr "Assegna Elementi di Magazzino"
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr "Nessuna produzione corrispondente alla ricerca"
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "Seleziona"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr "L'ordine di produzione è in ritardo"
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr "Avanzamento"
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "Nessuna informazione utente"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr "gruppo"
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr "Nessun articolo assegnato per"
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr "Cancella riduzione di prezzo"
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "vero"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "falso"
@@ -10212,7 +10273,7 @@ msgstr "Aggiungi nuovo filtro"
msgid "Clear all filters"
msgstr "Cancella tutti i filtri"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Crea filtro"
@@ -10274,11 +10335,11 @@ msgstr "Nome del campo"
msgid "Select Columns"
msgstr "Seleziona Colonne"
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "SÌ"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "NO"
@@ -10291,8 +10352,8 @@ msgid "Export to PDF"
msgstr "Esporta in PDF"
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "elemento stock creato"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr "Etichette inviate alla stampante"
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Annulla"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Invia"
@@ -10333,47 +10394,47 @@ msgstr "Invia"
msgid "Form Title"
msgstr "Titolo modulo"
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr "In attesa del server..."
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr "Informazioni sull'errore"
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr "Accetta"
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr "Caricamento Dati"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr "Risposta dal server non valida"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr "Dati del modulo mancanti dalla risposta server"
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Errore nel pubblicare i dati del modulo"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr "Dati del modulo mancanti di risposta JSON"
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "Errore 400: Richiesta Non Valida"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "Il server ha restituito codice di errore 400"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Errore nella richiesta di dati modulo"
@@ -10659,7 +10720,7 @@ msgstr "Nessun ordine d'acquisto trovato"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr "Questo elemento è in ritardo"
@@ -10676,111 +10737,113 @@ msgstr "Elimina relazione tra i componenti"
msgid "Delete Part Relationship"
msgstr "Elimina Relazione Articolo"
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Nessun articolo trovato"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Nessuna categoria"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Visualizza come elenco"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Visualizza come griglia"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr "Imposta la categoria prodotto per i prodotti selezionati"
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Imposta categoria articolo"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr "Seleziona Categoria Articolo"
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Non sono state trovati ordini di vendita"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr "Categoria sottoscritta"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr "Nessun modello di test corrispondente"
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Modificare il risultato del test"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr "Questo test è definito per un articolo principale"
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr "Modifica Modello Risultato Test"
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr "Elimina Modello Risultato Test"
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr "Nessuna data specificata"
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr "La data specificata è nel passato"
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr "Speculativo"
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto"
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo"
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr "Quantità Di Scorte Programmate"
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr "Quantità Massima"
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr "Livello Minimo Stock"
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr "Quantità da ricevere"
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr "Stato giacenza"
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr "Duplica Linee Elementi"
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr "Modifica Linee Elementi"
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr "Cancella Linea Elemento"
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr "Duplica linea elemento"
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr "Modifica linea elemento"
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr "Cancella linea elemento"
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr "Nessun elemento di riga corrispondente"
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr "Riferimento della spedizione"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "Non spedito"
@@ -11239,71 +11302,71 @@ msgstr "Tracciamento"
msgid "Invoice"
msgstr "Fattura"
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr "Aggiungi Spedizione"
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Conferma l'assegnazione della giacenza"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita"
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr "Nessun ordine di vendita trovato"
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr "Modifica posizione giacenza"
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Conferma Operazione Eliminazione"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "Spedito al cliente"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr "Nessun posizione specificata"
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Assegna Numeri di Serie"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Prezzo d'acquisto"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Calcola il prezzo"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr "Non può essere eliminato perché gli elementi sono stati spediti"
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr "Non può essere eliminato perché gli elementi sono stati assegnati"
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Assegna Numeri di Serie"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Aggiorna Prezzo Unitario"
@@ -11503,7 +11566,7 @@ msgstr "Prendi"
msgid "Add Stock"
msgstr "Aggiungi giacenza"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Aggiungi"
@@ -11583,164 +11646,172 @@ msgstr "Assegnato all'ordine di vendita"
msgid "No stock location set"
msgstr "Nessuna giacenza impostata"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "L'articolo di magazzino è in produzione"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "Articolo di magazzino assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr "Articolo stock assegnato al cliente"
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr "L'articolo di magazzino serializzato è stato assegnato"
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr "La voce di magazzino è stata completamente assegnata"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr "La voce di magazzino è stata parzialmente allocata"
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr "L'elemento stock è stato installato in un altro articolo"
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr "L'articolo stock è scaduto"
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr "Articolo in giacenza prossimo alla scadenza"
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr "L'articolo stock è stato rifiutato"
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr "L'articolo di magazzino è andato perso"
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr "Articolo di magazzino distrutto"
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr "Esaurito"
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr "Fornitore dell'articolo non specificato"
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr "Valore Scorte"
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr "Nessun articolo in magazzino corrispondente alla richiesta"
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Impostare lo stato delle scorte"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Selezionare il codice di stato"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Il codice di stato deve essere selezionato"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr "Caricare sublocazioni"
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Dettagli"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr "Informazioni sull'articolo non disponibili"
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "La posizione non esiste più"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "L'ordine di acquisto non esiste più"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr "L'ordine di vendita non esiste più"
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr "L'ordine di ritorno non esiste più"
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "Il cliente non esiste più"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "L'articolo in magazzino non esiste più"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Aggiunto"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Rimosso"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr "Nessun elemento installato"
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr "Disinstallare l'articolo di magazzino"
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr "Selezionare l'articolo di magazzino da disinstallare"
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr "Installare un altro articolo di magazzino in questo articolo"
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri"
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino"
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr "L'articolo in stock è attualmente disponibile in magazzino"
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr "L'articolo di magazzino non è già installato in un altro articolo"
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie"
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr "Selezionare la parte da installare"
@@ -12171,11 +12242,9 @@ msgstr "Continua"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
-msgstr ""
-"Stai per utilizzare il tuo account %(provider_name)s per accedere a\n"
+msgstr "Stai per utilizzare il tuo account %(provider_name)s per accedere a\n"
"%(site_name)s.
Per concludere, compila il seguente modulo:"
#: templates/stats.html:13
@@ -12322,34 +12391,35 @@ msgstr "Permessi"
msgid "Important dates"
msgstr "Date Importanti"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Visualizza"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Modificare"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Autorizzazione ad eliminare gli elementi"
+
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index aaff32e3db..25a98ff54b 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "日付を入力する"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "日付を入力する"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "メモ"
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "接続エラー"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "シリアル番号は空です"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "シリアル番号が見つかりません"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr "ファイルがありません"
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
@@ -259,11 +259,11 @@ msgstr "ファイルコメント"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "ユーザー"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "無効な選択です"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "お名前"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "説明"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "親"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "ファイル名"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "無効な値です。"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "データファイル"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "アップロードするファイルを選択"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "サポートされていないファイル形式"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "ファイルサイズが大きすぎます"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "ファイルに列が見つかりません"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "ファイルにデータ行がみつかりません"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "データが入力されていません"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "データ列が指定されていません"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "必須の列がありません: {name}"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "{col} 列が重複しています。"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "ギリシャ語"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "スペイン語"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "スペイン語(メキシコ)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "ヘブライ語"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "ハンガリー語"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "イタリア語"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "日本語"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "韓国語"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "オランダ語"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "ノルウェー語"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "ロシア語"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "スウェーデン語"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "タイ語"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "ベトナム語"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "中国語"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "バックグラウンドワーカーのチェックに失敗しました"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "発送済み"
@@ -716,7 +716,7 @@ msgstr "親アイテムから分割する"
msgid "Split child item"
msgstr "子項目を分割"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "商品在庫をマージしました"
@@ -837,7 +837,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr ""
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "パーツ"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr ""
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "在庫商品"
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "数量"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "ステータス"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "テンプレート"
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "アセンブリ"
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "コンポーネント"
@@ -2217,7 +2220,7 @@ msgstr "コンポーネント"
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "購入可能"
@@ -2225,7 +2228,7 @@ msgstr "購入可能"
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "追跡可能"
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "購入金額"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "パーツ"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "カテゴリ"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr "期限切れ在庫"
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "確認"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "シリアル番号が見つかりません"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index f20e847339..a5379bf1df 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "날짜 입력"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "날짜 입력"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "메모"
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr ""
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr ""
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr ""
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "첨부파일"
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "외부 URL로 링크"
@@ -259,11 +259,11 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "사용자"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "이름"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "설명"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "파일명"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "파일이 너무 큽니다"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "체코어"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "독일어"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "그리스어"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "영어"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "스페인어"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "스페인어 (멕시코)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "파르시어/페르시아어"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "프랑스어"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "히브리어"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "헝가리어"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "이탈리아어"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "일본어"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "한국어"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "네덜란드어"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "노르웨이어"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "폴란드어"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "러시아어"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "스웨덴어"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "태국어"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "터키어"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "베트남어"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "중국어"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr ""
@@ -716,7 +716,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -837,7 +837,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr ""
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr ""
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "외부 링크"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "수량"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "일련번호"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "위치"
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "상태"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "회사명"
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "구입 가능"
@@ -2225,7 +2228,7 @@ msgstr "구입 가능"
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "판매 가능"
@@ -2234,7 +2237,7 @@ msgstr "판매 가능"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "작성자"
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "이미지"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "회사 소개"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "웹사이트"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "회사 웹사이트 URL"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "주소"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "회사 주소"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "전화번호"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "이메일"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "회사"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr "회사 삭제"
msgid "Delete Company"
msgstr "회사 삭제"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "고객"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "전화번호"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "이미지 업로드"
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "삭제"
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr "새 회사"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "너비 [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "높이 [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "데이터"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "이미지 복사"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "키"
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "단가"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "일련번호"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "일련번호가 이미 존재합니다"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "경고"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "서버 설정"
@@ -8367,20 +8415,20 @@ msgstr "서버 설정"
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "로그인 설정"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "버전"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "메시지"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "비밀번호 변경"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr "버전 정보 복사"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "확인"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "오류 408: 시간 초과"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "선택"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "예"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "아니오"
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "취소"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "제출"
@@ -10333,47 +10394,47 @@ msgstr "제출"
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,109 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10944,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11023,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11120,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11225,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11237,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11501,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11581,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12169,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12318,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 305fff6968..515b497ff1 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Voer datum in"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Voer datum in"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Opmerkingen"
@@ -105,75 +105,75 @@ msgstr "Het opgegeven primaire e-mailadres is ongeldig."
msgid "The provided email domain is not approved."
msgstr "Het ingevoerde e-maildomein is niet goedgekeurd."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Verbindingsfout"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Server reageerde met ongeldige statuscode"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Uitzondering opgetreden"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Server reageerde met ongeldige Content-Length waarde"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Afbeeldingsformaat is te groot"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Beelddownload overschrijdt de maximale grootte"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Externe server heeft lege reactie teruggegeven"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Opgegeven URL is geen geldig afbeeldingsbestand"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Ongeldige hoeveelheid ingevoerd"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Leeg serienummer"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplicaat serienummer"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ongeldig groepsbereik: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Groepsbereik {g} overschrijdt toegestane hoeveelheid ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ongeldig groepsbereik: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Geen serienummers gevonden"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Verwijder HTML tags van deze waarde"
@@ -217,7 +217,7 @@ msgstr "Ontbrekend bestand"
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link naar externe URL"
@@ -259,11 +259,11 @@ msgstr "Bestand opmerking"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Gebruiker"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Ongeldige keuze"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Naam"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Omschrijving"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "bovenliggende"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Pad"
@@ -400,189 +400,189 @@ msgstr "Serverfout"
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selecteer valuta uit beschikbare opties"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Bestandsnaam"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Ongeldige waarde"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Data bestand"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Selecteer een bestand om te uploaden"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Niet ondersteund bestandstype"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Bestand is te groot"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Geen kolommen gevonden in het bestand"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Geen data rijen gevonden in dit bestand"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Geen data rijen opgegeven"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Geen gegevenskolommen opgegeven"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Verplichte kolom ontbreekt: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dubbele kolom: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL van extern afbeeldingsbestand"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tsjechisch"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Deens"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spaans (Mexicaans)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Perzisch"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Hongaars"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugees"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugees (Braziliaans)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Sloveens"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chinees"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Achtergrondwerker check is gefaald"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "In Behandeling"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Verzonden"
@@ -716,7 +716,7 @@ msgstr "Splits van bovenliggend item"
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Samengevoegde voorraadartikelen"
@@ -837,7 +837,7 @@ msgstr "Productieorder"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Productieorderreferentie"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referentie"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Onderdeel"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Verkooporder waar deze productie aan is toegewezen"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Bronlocatie"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Productiestatuscode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchcode"
@@ -994,7 +994,7 @@ msgstr "Batchcode"
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,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:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -1018,7 +1018,7 @@ msgstr "Opleveringsdatum"
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Uitgegeven door"
@@ -1030,10 +1030,10 @@ msgstr "Gebruiker die de productieorder heeft gegeven"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externe Link"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Product"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Product om onderdelen toe te wijzen"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Voorraadartikel"
@@ -1143,7 +1146,7 @@ msgstr "Bron voorraadartikel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Bron voorraadartikel"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Bron voorraadartikel"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Bron voorraadartikel"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Hoeveelheid"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Productieuitvoer"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Voer hoeveelheid in voor productie uitvoer"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Serienummers"
@@ -1255,7 +1258,7 @@ msgstr "Serienummers automatisch toewijzen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "De volgende serienummers bestaan al of zijn ongeldig"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Locatie"
@@ -1290,13 +1293,13 @@ msgstr "Locatie van voltooide productieuitvoeren"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid"
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1393,7 +1396,7 @@ msgstr "Productieuitvoer moet naar dezelfde productie wijzen"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Artikel moet op voorraad zijn"
@@ -1583,13 +1586,13 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Streefdatum"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Voltooid"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Voltooid"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Verkooporder"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Uitgegeven door"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Prioriteit"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Verwijder Productieorder"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr "Bouworder QR Code"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr "Link Barcode aan bouwopdracht"
@@ -1682,11 +1685,11 @@ msgstr "Toegewezen Onderdelen"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Batch"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Gecreëerd"
@@ -1716,7 +1719,7 @@ msgstr "Onderliggende Productieorders"
msgid "Allocate Stock to Build"
msgstr "Voorraad toewijzen aan Product"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Voorraadtoewijzing ongedaan maken"
@@ -1810,7 +1813,7 @@ msgstr "Voltooide Productieuitvoeren"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Bijlagen"
msgid "Build Notes"
msgstr "Productie notities"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Toewijzing Voltooid"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen"
@@ -1981,7 +1984,7 @@ msgstr "Tonen `over` beperken"
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Bedrijfsnaam"
@@ -2187,7 +2190,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Sjabloon"
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Samenstelling"
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Component"
@@ -2217,7 +2220,7 @@ msgstr "Component"
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Koopbaar"
@@ -2225,7 +2228,7 @@ msgstr "Koopbaar"
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Verkoopbaar"
@@ -2234,7 +2237,7 @@ msgstr "Verkoopbaar"
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Volgbaar"
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Afbeelding"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr "Vorige Stap"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Website"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "URL bedrijfswebsite"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adres"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Bedrijfsadres"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefoonnummer"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Telefoonnummer voor contact"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Email"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Contact e-mailadres"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Contact"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Contactpunt"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "is klant"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "is leverancier"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "is fabrikant"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Bedrijf"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Basis onderdeel"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Onderdeel selecteren"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Onderdeel selecteren"
msgid "Manufacturer"
msgstr "Fabrikant"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Fabrikant selecteren"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Fabrikant selecteren"
msgid "MPN"
msgstr "MPN"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Fabrikant artikel nummer (MPN)"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL voor externe link van het fabrikant onderdeel"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Omschrijving onderdeel fabrikant"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Parameternaam"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Waarde"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Eenheden"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Parameter eenheden"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd
msgid "Supplier"
msgstr "Leverancier"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Leverancier selecteren"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Leverancier selecteren"
msgid "SKU"
msgstr "SKU"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Selecteer fabrikant onderdeel"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "meerdere"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Order meerdere"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Order meerdere"
msgid "Available"
msgstr "Beschikbaar"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr "Bedrijf verwijderen"
msgid "Delete Company"
msgstr "Bedrijf verwijderen"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Klant"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefoon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Afbeelding Uploaden"
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Nieuwe Inkooporder"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Nieuwe Verkooporder"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Verwijder leveranciersonderdelen"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Verwijderen"
@@ -3980,8 +4001,8 @@ msgstr "Nieuwe Parameter"
msgid "Delete parameters"
msgstr "Parameter verwijderen"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Parameter toevoegen"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Voorraadartikelen"
@@ -4137,78 +4158,91 @@ msgstr "Bedrijven"
msgid "New Company"
msgstr "Nieuw Bedrijf"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Labelnaam"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Label beschrijving"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Label"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Label template bestand"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Ingeschakeld"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Label template is ingeschakeld"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Breedte [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Label breedte, gespecificeerd in mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Hoogte [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Label hoogte, gespecificeerd in mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Bestandsnaam Patroon"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filters"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Totaalprijs"
@@ -4216,7 +4250,7 @@ msgstr "Totaalprijs"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr "verwijderd"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Order"
@@ -4421,9 +4455,9 @@ msgstr "Ontvangen"
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Inkoopprijs"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Artikelen"
msgid "Received Stock"
msgstr "Ontvangen Voorraadartikelen"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Inkooporder Artikelen"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Inkooporder Artikelen"
msgid "Add Line Item"
msgstr "Artikel toevoegen"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Extra Regels"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Extra Regel Toevoegen"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Ontvangen Artikelen"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Verzendingen in behandeling"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Acties"
@@ -5145,42 +5179,42 @@ msgstr "{part} stukprijs bijgewerkt naar {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "In bestelling"
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Toegewezen"
@@ -5228,11 +5262,11 @@ msgstr "Toegewezen"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Standaard locatie"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Totale Voorraad"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Beschikbare Voorraad"
@@ -5332,882 +5366,882 @@ msgstr "Beschikbare Voorraad"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Standaard locatie voor onderdelen in deze categorie"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN moet overeenkomen met regex-patroon {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Datum"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Afbeelding kopiëren"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Parameters kopiëren"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Parameter data kopiëren van het originele onderdeel"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Ongeldige hoeveelheid"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Voorraad"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Stukprijs"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Totaal"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Serienummer"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Voorraadlocatie"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Voorraadlocaties"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Inkooporder Bron"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Bestemming Verkooporder"
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "Voorraadartikel is toegewezen aan een verkooporder"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "Artikel is toegewezen aan een verkooporder"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "Artikel is toegewezen aan een productieorder"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Geen locatie ingesteld"
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr "Maak nieuwe voorraadlocatie"
msgid "New Location"
msgstr "Nieuwe Locatie"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr "Vereist voor Productieorder"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr "Productieorders in Uitvoering"
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "Achterstallige Productieorders"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "Openstaande Inkooporders"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "Achterstallige Inkooporders"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "Openstaande Verkooporders"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "Achterstallige Verkooporders"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr "Productieorderinstellingen"
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Bericht"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Deze plugin is als pakket geïnstalleerd"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Bericht indienen"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Bevestigen"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Vereiste Hoeveelheid"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Je ontvangt deze e-mail omdat je bent geabonneerd op notificaties van dit onderdeel "
@@ -9296,16 +9349,16 @@ msgstr "Je ontvangt deze e-mail omdat je bent geabonneerd op notificaties van di
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr "Geen Voorraad Aanwezig"
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr "Geen productieordertoewijzingen gevonden"
msgid "Location not specified"
msgstr "Locatie is niet opgegeven"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "Geen actieve productieuitvoeren gevonden"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Voorraadtoewijzing bewerken"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Voorraadtoewijzing verwijderen"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr "Onvoldoende voorraad beschikbaar"
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr "Genoeg voorraad beschikbaar"
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr "Productie voorraad"
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr "Voorraad order"
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr "Voorraad toewijzen"
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Onderdelen selecteren"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
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:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr "Specificeer voorraadtoewijzingshoeveelheid"
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
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:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr "Voorraadartikelen toewijzen aan Productieorder"
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr "Geen overeenkomende voorraadlocaties"
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr "Geen overeenkomende voorraadartikelen"
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieorder volgens de aangegeven richtlijnen"
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr "Productieorder is achterstallig"
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr "Geen inkooporder gevonden"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr "Dit artikel is achterstallig"
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Geen verkooporder gevonden"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr "Artikel dupliceren"
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr "Artikel wijzigen"
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr "Artikel verwijderen"
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr "Artikel dupliceren"
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr "Artikel bewerken"
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr "Artikel verwijderen"
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr "Geen overeenkomende artikelen"
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr "Verzendingsreferentie"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "Niet verzonden"
@@ -11239,71 +11302,71 @@ msgstr "Volgen"
msgid "Invoice"
msgstr "Factuur"
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr "Voeg Verzending toe"
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Bevestig de voorraadtoewijzing"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr "Voorraadartikel toewijzen aan Verkooporder"
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr "Geen verkooporder toewijzingen gevonden"
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr "Bewerk Voorraadtoewijzing"
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Bevestig Verwijderen"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr "Verwijder Voorraadtoewijzing"
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr "Verzonden aan klant"
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr "Voorraadlocatie niet gespecificeerd"
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Wijs serienummers toe"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Koop voorraad"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Bereken prijs"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn"
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn"
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Wijs Serienummers Toe"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Werk Stukprijs Bij"
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr "Toegewezen aan Verkooporder"
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr "Voorraadartikel toegewezen aan verkooporder"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "Inkooporder bestaat niet meer"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 0269d55ed9..1c8b1059d3 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Oppgi dato"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Oppgi dato"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Notater"
@@ -105,75 +105,75 @@ msgstr "Den oppgitte primære e-postadressen er ikke gyldig."
msgid "The provided email domain is not approved."
msgstr "Det oppgitte e-postdomenet er ikke godkjent."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Tilkoblingsfeil"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Serveren svarte med ugyldig statuskode"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Det har oppstått et unntak"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Serveren svarte med ugyldig \"Content-Length\"-verdi"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Bildestørrelsen er for stor"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Bildenedlasting overskred maksimal størrelse"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Ekstern server returnerte tomt svar"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Angitt URL er ikke en gyldig bildefil"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Tom serienummerstreng"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Duplisert serienummer"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ugyldig gruppeserie: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Gruppeserie {g} overskrider tillatt antall ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ugyldig gruppesekvens: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Ingen serienummer funnet"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Fjern HTML-tagger fra denne verdien"
@@ -217,7 +217,7 @@ msgstr "Fil mangler"
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
@@ -259,11 +259,11 @@ msgstr "Kommentar til fil"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Bruker"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Ugyldig valg"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Navn"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Beskrivelse"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "overkategori"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Sti"
@@ -400,189 +400,189 @@ msgstr "Serverfeil"
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Må være et gyldig tall"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Valuta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Velg valuta ut fra tilgjengelige alternativer"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Filnavn"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Ugyldig verdi"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Velg datafil for opplasting"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Filtypen støttes ikke"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Filen er for stor"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Ingen kolonner funnet i filen"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Ingen datarader funnet i fil"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Ingen datarader oppgitt"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Ingen datakolonner angitt"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Mangler påkrevd kolonne: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dupliaktkolonne: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URLtil ekstern bildefil"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tsjekkisk"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spansk (Meksikansk)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasil)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Kinesisk"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Sjekk av bakgrunnsarbeider mislyktes"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "Pågående"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Sendt"
@@ -716,7 +716,7 @@ msgstr "Skill ut fra overordnet artikkel"
msgid "Split child item"
msgstr "Skill ut fra underartikkel"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Sammenslåtte lagervarer"
@@ -837,7 +837,7 @@ msgstr "Build ordre"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Bygg ordrereferanse"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referanse"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Build order som denne build er tildelt til"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Build order som denne build er tildelt til"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Build order som denne build er tildelt til"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Del"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Salgsordren denne produksjonen er tildelt til"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Kildeplassering"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Produksjonsstatuskode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchkode"
@@ -994,7 +994,7 @@ msgstr "Batchkode"
msgid "Batch code for this build output"
msgstr "Batchkode for denne produksjonsartikkelen"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,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:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Fullført dato"
@@ -1018,7 +1018,7 @@ msgstr "Fullført dato"
msgid "completed by"
msgstr "fullført av"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Utstedt av"
@@ -1030,10 +1030,10 @@ msgstr "Brukeren som utstede denne prosjekt order"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Ekstern lenke"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Valgt lagevare ikke funnet i BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Prosjekt"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Bygge for å tildele deler"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Lagervare"
@@ -1143,7 +1146,7 @@ msgstr "Kildelagervare"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Kildelagervare"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Kildelagervare"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Kildelagervare"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Antall"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Lagervare for montering"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Produksjonsartikkel"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Angi antall for produksjonsartikkel"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Serienummer"
@@ -1255,7 +1258,7 @@ msgstr "Automatisk tildeling av serienummer"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "Følgende serienummer finnes allerede eller er ugyldige"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "En liste over produksjonsartikler må oppgis"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Plassering"
@@ -1290,13 +1293,13 @@ msgstr "Plassering for ferdige produksjonsartikler"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr "Nødvendig produksjonsmengde er ikke nådd"
msgid "Build order has incomplete outputs"
msgstr "Produksjonsordren har uferdige artikler"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Stykklisteartikkel"
@@ -1393,7 +1396,7 @@ msgstr "Produksjonsartikkel må peke til samme produksjon"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part må peke på den samme delen som produksjonsordren"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Artikkelen må være på lager"
@@ -1583,13 +1586,13 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Måldato"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Fullført"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Fullført"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Salgsordre"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Utstedt av"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Prioritet"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Slett Produksjonsordre"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr "Produksjonsordrens QR-kode"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr "Koble Strekkode til Produksjonsordre"
@@ -1682,11 +1685,11 @@ msgstr "Tildelte deler"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Parti"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Opprettet"
@@ -1716,7 +1719,7 @@ msgstr "Underordnede Produksjonsordrer"
msgid "Allocate Stock to Build"
msgstr "Tildel Lagerbeholdning til Produksjon"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Fjern lager allokering"
@@ -1810,7 +1813,7 @@ msgstr "Fullførte byggeresultater"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Vedlegg"
msgid "Build Notes"
msgstr "Bygg notater"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Tildeling fullført"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Alle usporbar lagervarer har tildelt"
@@ -1981,7 +1984,7 @@ msgstr "Begrens visning av 'om'"
msgid "Show the `about` modal only to superusers"
msgstr "Vis `about`-modal kun til superbrukere"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Firmanavn"
@@ -2187,7 +2190,7 @@ msgstr "Kopier designmaler for kategoriparametere"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier parametermaler for kategori ved oppretting av en del"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Mal"
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Sammenstilling"
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponent"
@@ -2217,7 +2220,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Kjøpbar"
@@ -2225,7 +2228,7 @@ msgstr "Kjøpbar"
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Salgbar"
@@ -2234,7 +2237,7 @@ msgstr "Salgbar"
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Sporbar"
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr "Maksimal lengdegrense for strenger vist i tabeller"
msgid "Price break quantity"
msgstr "Antall for prisbrudd"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr "Endepunktet hvor denne webhooken er mottatt"
msgid "Name for this webhook"
msgstr "Navn for webhooken"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Tittel"
msgid "Published"
msgstr "Publisert"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Forfatter"
@@ -3306,7 +3309,13 @@ msgstr "Les"
msgid "Was this news item read?"
msgstr "Er dette nyhetselementet lest?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Bilde"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Feil oppstått i utvidelse"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Deler importert"
msgid "Previous Step"
msgstr "Forrige trinn"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Beskrivelse av firma"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Beskrivelse av firmaet"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Nettside"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Bedriftens nettside URL"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adresse"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Firmaet adresse"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefonnummer"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Kontakt-telefonnummer"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "E-post"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Kontakt e-post"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Kontaktpunkt"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "er kunde"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Selger du varer til dette firmaet?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "er leverandør"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Kjøper du varer fra dette firmaet?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "er produsent"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Basisdel"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Velg del"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Velg del"
msgid "Manufacturer"
msgstr "Produsent"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Velg produsent"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Velg produsent"
msgid "MPN"
msgstr "MPN"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Produsentens varenummer"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL for ekstern produsentdel-lenke"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Produsentens delbeskrivelse"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Produsentdeler"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Parameternavn"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Verdi"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Parameterverdi"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Enheter"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Parameterenheter"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel"
msgid "Supplier"
msgstr "Leverandør"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Velg leverandør"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Velg leverandør"
msgid "SKU"
msgstr "SKU-kode"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Leverandørens lagerbeholdningsenhet"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Velg produsentdel"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "URL for ekstern leverandørdel-lenke"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Leverandørens delbeskrivelse"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Notat"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "grunnkostnad"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Emballasje"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Delemballasje"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Delemballasje"
msgid "Pack Quantity"
msgstr "Pakkeantall"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Enhetsantall levert i én pakke"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "flere"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Bestill flere"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Bestill flere"
msgid "Available"
msgstr "Tilgjengelig"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Antall tilgjengelig fra leverandør"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Tilgjengelighet oppdatert"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Dato for siste oppdatering av tilgjengelighetsdata"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Standardvaluta brukt for denne leverandøren"
@@ -3709,6 +3718,18 @@ msgstr "Slett firma"
msgid "Delete Company"
msgstr "Slett Firma"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Slett bilde"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Kunde"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Fjern Bilde"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Fjern tilknyttet bilde fra dette firmaet"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Fjern"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Last opp bilde"
@@ -3828,7 +3849,7 @@ msgstr "Leverandørs lagerbeholdning"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Ny innkjøpsordre"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Ny salgsordre"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Tildelt lagerbeholdning"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr "Returordrer"
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr "Opprett ny returordre"
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr "Ny Returordre"
@@ -3956,9 +3977,9 @@ msgstr "Slett leverandørdeler"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Slett"
@@ -3980,8 +4001,8 @@ msgstr "Nytt Parameter"
msgid "Delete parameters"
msgstr "Slett parametere"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Legg til Parameter"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr "Kontakter"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Leverandørdel"
@@ -4095,7 +4116,7 @@ msgstr "Koble strekkode til Leverandørdel"
msgid "Update Part Availability"
msgstr "Oppdater Delens Tilgjengelighet"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "Oppdater Delens Tilgjengelighet"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Lagervarer"
@@ -4137,78 +4158,91 @@ msgstr "Firmaer"
msgid "New Company"
msgstr "Nytt Firma"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Etikettnavn"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Etikettbeskrivelse"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etikett"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Etikett-malfil"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Aktivert"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Etikettmal er aktiver"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Bredde [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Etikettbredde, spesifisert i mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Høyde [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Etiketthøyde, spesifisert i mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Søkefilter (kommaseparert liste over nøkkel=verdi-par),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtre"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Total pris"
@@ -4216,7 +4250,7 @@ msgstr "Total pris"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Ukjent"
@@ -4399,7 +4433,7 @@ msgstr "slettet"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Ordre"
@@ -4421,9 +4455,9 @@ msgstr "Mottatt"
msgid "Number of items received"
msgstr "Antall enheter mottatt"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Innkjøpspris"
@@ -4571,7 +4605,7 @@ msgstr "Kun serialiserte artikler kan tilordnes en Returordre"
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr "Returordre"
@@ -4925,7 +4959,7 @@ msgstr "Duplikatvalg"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Linjeelementer"
msgid "Received Stock"
msgstr "Mottatt lagerbeholdning"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Innkjøpsordreartikler"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Innkjøpsordreartikler"
msgid "Add Line Item"
msgstr "Legg til linjeelement"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr "Motta linjeelementer"
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr "Slett linjeelementer"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Ekstralinjer"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Legg til Ekstralinje"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Mottatte artikler"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Ventende forsendelser"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Handlinger"
@@ -5145,42 +5179,42 @@ msgstr "Oppdaterte {part} enhetspris to {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variant av"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Standard nøkkelord for deler i denne kategorien"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Ikon (valgfritt)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!"
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Ugyldig valg for overordnet del"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)"
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Internt delnummer må matche regex-mønster {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr "Lagervare med dette serienummeret eksisterer allerede"
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede."
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Deler kan ikke tilordnes strukturelle delkategorier!"
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Delnavn"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Er Mal"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Er delen en maldel?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Er delen en variant av en annen del?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr "Delbeskrivelse (valgfritt)"
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Del-nøkkelord for å øke synligheten i søkeresultater"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Kategori"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Delkategori"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Internt delnummer"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Delrevisjon eller versjonsnummer"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Hvor er denne artikkelen vanligvis lagret?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Standard leverandør"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Standard leverandørdel"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Standard utløp"
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr "Utløpstid (i dager) for lagervarer av denne delen"
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Minimum tillatt lagernivå"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "Måleenheter for denne delen"
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Kan denne delen bygges fra andre deler?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "Kan denne delen brukes til å bygge andre deler?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Har denne delen sporing av unike artikler?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Kan denne delen selges til kunder?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Er denne delen aktiv?"
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr "Kontrollsum for stykkliste"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Lagret sjekkliste-kontrollsum"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "Stykkliste sjekket av"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "Stykkliste sjekket dato"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Opprettingsbruker"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr "Bruker ansvarlig for denne delen"
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Siste lagertelling"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Selg flere"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr "Valuta som brukes til å bufre prisberegninger"
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr "Minimal stykklistekostnad"
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr "Minste kostnad for komponentdeler"
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr "Maksimal stykklistekostnad"
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr "Maksimal kostnad for komponentdeler"
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Minimal innkjøpskostnad"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr "Minimal historisk innkjøpskostnad"
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "Maksimal innkjøpskostnad"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "Maksimal historisk innkjøpskostnad"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "Minimal intern pris"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr "Minimal kostnad basert på interne prisbrudd"
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "Maksimal intern pris"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr "Maksimal kostnad basert på interne prisbrudd"
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr "Minimal leverandørpris"
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr "Minimumspris for del fra eksterne leverandører"
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr "Maksimal leverandørpris"
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr "Maksimalpris for del fra eksterne leverandører"
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Minimal Variantkostnad"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Beregnet minimal kostnad for variantdeler"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Maksimal Variantkostnad"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr "Beregnet maksimal kostnad for variantdeler"
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr "Beregnet samlet minimal kostnad"
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr "Beregnet samlet maksimal kostnad"
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr "Minimal salgspris"
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr "Minimal salgspris basert på prisbrudd"
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr "Maksimal Salgspris"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr "Maksimal salgspris basert på prisbrudd"
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr "Minimal Salgskostnad"
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr "Minimal historisk salgspris"
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr "Maksimal Salgskostnad"
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr "Maksimal historisk salgspris"
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr "Del for varetelling"
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr "Antall"
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling"
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling"
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Dato"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr "Dato for utført lagertelling"
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "Flere notater"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr "Bruker som utførte denne lagertellingen"
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr "Minimal lagerkostnad"
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr "Estimert minimal kostnad for lagerbeholdning"
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr "Maksimal lagerkostnad"
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr "Estimert maksimal kostnad for lagerbeholdning"
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "Rapport"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr "Lagertellingsrapportfil (generert internt)"
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr "Antall deler"
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr "Antall deler dekket av varetellingen"
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr "Bruker som forespurte varetellingsrapporten"
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr "Testmaler kan bare bli opprettet for sporbare deler"
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr "Test med dette navnet finnes allerede for denne delen"
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Testnavn"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Angi et navn for testen"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Testbeskrivelse"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Legg inn beskrivelse for denne testen"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Påkrevd"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Er det påkrevd at denne testen bestås?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Krever verdi"
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr "Krever denne testen en verdi når det legges til et testresultat?"
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Krever vedlegg"
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?"
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "Navn på parametermal må være unikt"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Parameternavn"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Parameterenheter"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr "Parameterbeskrivelse"
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Overordnet del"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parametermal"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Data"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Parameterverdi"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Standardverdi"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Standard Parameterverdi"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "Del-ID eller delnavn"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Unik del-ID-verdi"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Delens interne delnummerverdi"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Nivå"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr "Stykklistenivå"
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Velg overordnet del"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Underordnet del"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Velg del som skal brukes i stykkliste"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Stykklisteantall for denne stykklisteartikkelen"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Valgfritt"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Denne stykklisteartikkelen er valgfri"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Forbruksvare"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)"
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Svinn"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Forventet produksjonssvinn (absolutt eller prosent)"
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Stykklisteartikkel-referanse"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Stykklisteartikkel-notater"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Kontrollsum"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Stykklistelinje kontrollsum"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Godkjent"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr "Denne stykklisteartikkelen er godkjent"
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Arves"
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler"
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Tillat Varianter"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen"
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "Antall må være heltallsverdi for sporbare deler"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "Underordnet del må angis"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Stykklisteartikkel-erstatning"
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr "Erstatningsdel kan ikke være samme som hoveddelen"
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Overordnet stykklisteartikkel"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Erstatningsdel"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Del 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Del 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Velg relatert del"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv"
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr "Duplikatforhold eksisterer allerede"
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Innkjøpsvaluta for lagervaren"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Original Del"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr "Velg original del å duplisere"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Kopier Bilde"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Kopier bilde fra originaldel"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Kopier Stykkliste"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Kopier stykkliste fra original del"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Kopier parametere"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Kopier parameterdata fra originaldel"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til."
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr "Innledende lagerplassering"
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr "Angi initiell lagerplasering for denne delen"
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr "Velg leverandør (eller la stå tom for å hoppe over)"
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Velg produsent (eller la stå tom for å hoppe over)"
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr "Produsentens delenummer"
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr "Valgt firma er ikke en gyldig leverandør"
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr "Valgt firma er ikke en gyldig produsent"
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr "Produsentdel som matcher dette MPN-et, finnes allerede"
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede"
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Dupliser del"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr "Kopier innledende data fra en annen del"
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Innledende lagerbeholdning"
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr "Varsel om lav lagerbeholdning"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået"
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Totalt Antall"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr "Total Kostnad Min"
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr "Total Kostnad Max"
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr "Lagertellingsrapport tilgjengelig"
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting"
@@ -6390,7 +6424,7 @@ msgstr "Legg til lagertellingsinformasjon"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Lagertelling"
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Minimalt lagerbeholdningsnivå"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "Del-QR-kode"
msgid "Link Barcode to Part"
msgstr "Koble strekkode til Del"
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Beregn"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr "Fjern tilknyttet bilde fra denne delen"
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Ingen leverandørpriser tilgjengelig"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Stykklistepriser"
@@ -6755,8 +6793,8 @@ msgstr "Varianter"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Lagerbeholdning"
@@ -6789,7 +6827,7 @@ msgstr "Oppdater delprising"
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Sist oppdatert"
@@ -6813,7 +6851,7 @@ msgstr "Intern Prising"
msgid "Purchase History"
msgstr "Inkjøpshistorikk"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Variantprising"
@@ -6821,7 +6859,7 @@ msgstr "Variantprising"
msgid "Overall Pricing"
msgstr "Generell prising"
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Salgshistorikk"
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr "Prisområdedata er ikke tilgjengelig for denne delen."
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Hopp til oversikt"
@@ -6844,11 +6882,11 @@ msgstr "Hopp til oversikt"
msgid "Add Internal Price Break"
msgstr "Legg til internt prisbrudd"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr "Salgsprising"
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr "Legg til salgsprisbrudd"
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr "Leverandør ble slettet"
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Enhetspris"
@@ -7291,21 +7329,21 @@ msgstr "Ekstra linjeelementer"
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Serienummer"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr "Testresultater"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Batchkode for denne lagervaren"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Lagerantall"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Kildeproduksjon"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Produksjon for denne lagervaren"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Kildeinnkjøpsordre"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Innkjøpsordre for denne lagervaren"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Tildelt Salgsordre"
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Slett når oppbrukt"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Slett lagervaren når beholdningen er oppbrukt"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr "Innkjøpspris per enhet på kjøpstidspunktet"
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "Konvertert til del"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "Delen er ikke angitt som sporbar"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Antall må være heltall"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({n})"
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "Serienumre må være en liste over tall"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "Antallet stemmer ikke overens med serienumrene"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "Lagervare har blitt tildelt en salgsordre"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "Lagervare er montert i en annen artikkel"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "Lagervare inneholder andre artikler"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "Lagervare har blitt tildelt til en kunde"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "Lagervare er for tiden i produksjon"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Serialisert lagerbeholdning kan ikke slås sammen"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Duplisert lagervare"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "Lagervarer må referere til samme del"
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr "Lagervarer må referere til samme leverandørdel"
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "Lagerstatuskoder må være like"
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager"
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Oppføringsnotater"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Verdi må angis for denne testen"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "Vedlegg må lastes opp for denne testen"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Testnavn"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Testresultat"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr "Testens verdi"
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr "Vedlegg til testresultat"
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr "Testnotater"
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr "Serienummeret er for høyt"
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Innkjøpspris for lagervaren"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr "Angi antall lagervarer som skal serialiseres"
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})"
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "Angi serienummer for nye artikler"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "Til Lagerplassering"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr "Valgfritt notatfelt"
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr "Serienummer kan ikke tilordnes denne delen"
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr "Velg lagervare å montere"
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr "Lagervaren er utilgjengelig"
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr "Valgt del er ikke i stykklisten"
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr "Lagerplassering for den avinstallerte artikkelen"
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "Legg til transaksjonsnotat (valgfritt)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr "Velg del å konvertere lagervare til"
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr "Valgt del er ikke et gyldig alternativ for konvertering"
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr "Lagerplassering for returnert artikkel"
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "Delen må være salgbar"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr "Artikkelen er tildelt en salgsordre"
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr "Artikkelen er tildelt en produksjonsordre"
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr "Kunde å tilordne lagervarer"
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr "Tilgjengelig antall"
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Ingen plassering satt"
@@ -8039,35 +8077,40 @@ msgstr "Foreldet"
msgid "No stocktake performed"
msgstr "Ingen lagertelling utført"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Rediger Lagerstatus"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr "Lagervare-QR-kode"
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr "Koble strekkode til Lagervare"
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr "Velg en av variantdelene oppført under."
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Advarsel"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Denne handlingen er vanskelig å omgjøre"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Konverter Lagervare"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Returner til Lager"
@@ -8141,15 +8184,20 @@ msgstr "Opprett ny lagerplassering"
msgid "New Location"
msgstr "Ny plassering"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr "Skannet lagerbeholder til denne plasseringen"
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr "Lagerplassering-QR-kode"
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr "Koble strekkode til Lagerplassering"
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr "Innstillinger for lagertelling"
msgid "Stocktake Reports"
msgstr "Lagertellingsrapporter"
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Innstillinger for Utvidelser"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr "Endring av innstillingene nedenfor krever at du umiddelbart starter serveren på nytt. Ikke endre under aktiv bruk."
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Utvidelser"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Installer Utvidelse"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr "Eksterne utvidelser er ikke aktivert for denne InvenTree-installasjonen"
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Versjon"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr "Aktive utvidelser"
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Inaktive utvidelser"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Utvidelse feilstack"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Stadium"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Melding"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr "Innebygd"
@@ -8493,69 +8541,69 @@ msgstr "Innebygd"
msgid "Sample"
msgstr "Eksempel"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Informasjon om utvidelse"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "ingen versjonsinformasjon angitt"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Lisens"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "Kodeinformasjonen hentes fra siste git-commit for denne utvidelsen. Det gjenspeiler kanskje ikke offisielle versjonsnummer eller informasjon, men den faktiske koden som kjører."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Informasjon om pakken"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Installasjonsmåte"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Denne utvidelsen ble installert som en pakke"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr "Denne utvidelsen ble funnet på en lokal serversti"
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Installasjonssti"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr "Dette er en innebygd utvidelse som ikke kan deaktiveres"
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Commit-forfatter"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Commit-dato"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Commit-hash"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Commit-melding"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Signaturstatus"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Signaturnøkkel"
@@ -8588,12 +8636,12 @@ msgstr "Aldri"
msgid "Project Code Settings"
msgstr "Innstillinger for prosjektkoder"
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr "Prosjektkoder"
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr "Ny Prosjektkode"
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Bekreft"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Antall som kreves"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Du mottar denne e-posten fordi du abonnerer på varsler for denne delen "
@@ -9296,16 +9349,16 @@ msgstr "Du mottar denne e-posten fordi du abonnerer på varsler for denne delen
msgid "Click on the following link to view this part"
msgstr "Klikk på følgende lenke for å se denne delen"
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Minimum antall"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Ingen respons"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "Ingen svar fra InvenTree-serveren"
@@ -9317,27 +9370,27 @@ msgstr "Feil 400: Ugyldig forespørsel"
msgid "API request returned error code 400"
msgstr "API-forespørsel returnerte feilkode 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Feil 401: Ikke autentisert"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Autentiseringslegitimasjon ikke angitt"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Feil 403: Tilgang nektet"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Du har ikke de nødvendige tillatelsene for tilgang til denne funksjonen"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Feil 404: Ressurs ikke funnet"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "Kan ikke finne den forespurte ressursen på serveren"
@@ -9349,11 +9402,11 @@ msgstr "Feil 405: Metode ikke tillatt"
msgid "HTTP method not allowed at URL"
msgstr "HTTP-metode er ikke tillatt i URL"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Feil 408: Tidsavbrudd"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Tidsavbrudd under forespørsel om data fra serveren"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Ukjent svar fra serveren"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Ugyldig svar fra serveren"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr "Skann lagervarens strekkode for å sjekke inn på denne plasseringen"
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr "Inkluderer erstatningsbeholdning"
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr "Forbruksvare"
@@ -9695,11 +9748,11 @@ msgstr "Slett stykklisteartikkel"
msgid "View BOM"
msgstr "Vis stykkliste"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "Ingen stykklisteartikler funnet"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "Påkrevd del"
@@ -9829,170 +9882,178 @@ msgstr "Ingen tildelinger til produksjonsordre funnet"
msgid "Location not specified"
msgstr "Plassering ikke angitt"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr "Ingen aktive produksjonsartikler funnet"
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr "Tildelt lagerbeholdning"
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr "Ingen sporede stykklisteartikler for denne produksjonen"
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr "Fullførte Tester"
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr "Ingen påkrevde tester for denne produksjonen"
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Rediger lagertildeling"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Slett lagertildeling"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr "Rediger tildeling"
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr "Slett tildeling"
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr "Erstatningsdeler tilgjengelig"
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Antall per"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr "Slett prisbrudd"
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "sant"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "usant"
@@ -10212,7 +10273,7 @@ msgstr "Legg til nytt filter"
msgid "Clear all filters"
msgstr "Fjern alle filtre"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Opprett filter"
@@ -10274,11 +10335,11 @@ msgstr "Feltnavn"
msgid "Select Columns"
msgstr "Velg Kolonner"
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "JA"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "NEI"
@@ -10291,8 +10352,8 @@ msgid "Export to PDF"
msgstr "Eksporter til PDF"
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "lagervarer valgt"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "Subcategories"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Underkategorier"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index ed1e1ebaf9..44bf80e2a6 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Wprowadź dane"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Wprowadź dane"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Uwagi"
@@ -105,75 +105,75 @@ msgstr "Podany podstawowy adres e-mail jest nieprawidłowy."
msgid "The provided email domain is not approved."
msgstr "Podany e-mail domeny nie został zatwierdzony."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Błąd połączenia"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Serwer odpowiedział z nieprawidłowym kodem statusu"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Wystąpił wyjątek"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Serwer odpowiedział z nieprawidłową wartością Content-Length"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Rozmiar obrazu jest zbyt duży"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Przekroczono maksymalny rozmiar pobieranego obrazu"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Zdalny serwer zwrócił pustą odpowiedź"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Podany adres URL nie jest poprawnym plikiem obrazu"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Pusty ciąg numeru seryjnego"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Podwójny numer seryjny"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Nieprawidłowy zakres grupy: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Zakres grupy {g} przekracza dozwoloną ilość ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Nieprawidłowa sekwencja grupy: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Nie znaleziono numerów seryjnych"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Usuń znaczniki HTML z tej wartości"
@@ -217,7 +217,7 @@ msgstr "Brak pliku"
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -259,11 +259,11 @@ msgstr "Komentarz pliku"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Użytkownik"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Błędny wybór"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nazwa"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Opis"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "nadrzędny"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Ścieżka"
@@ -400,189 +400,189 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Waluta"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nazwa pliku"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Nieprawidłowa wartość"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Plik danych"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Wybierz plik danych do przesłania"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Nieobsługiwany typ pliku"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Plik jest zbyt duży"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Nie znaleziono kolumn w pliku"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Nie znaleziono wierszy danych w pliku"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Nie podano wierszy danych"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Nie podano kolumn danych"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Brakuje wymaganej kolumny: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Zduplikowana kolumna: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "Adres URL zdalnego pliku obrazu"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Czeski"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Duński"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Hiszpański (Meksyk)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Perski"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Węgierski"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugalski"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugalski (Brazylijski)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Słoweński"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chiński"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Sprawdzenie robotnika w tle nie powiodło się"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Wysłane"
@@ -716,7 +716,7 @@ msgstr "Podziel z pozycji nadrzędnej"
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Scalone przedmioty magazynowe"
@@ -837,7 +837,7 @@ msgstr "Zlecenie Budowy"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referencja"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Komponent"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Lokalizacja źródła"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Kod statusu budowania"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Kod partii"
@@ -994,7 +994,7 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -1018,7 +1018,7 @@ msgstr "Data zakończenia"
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Wydany przez"
@@ -1030,10 +1030,10 @@ msgstr "Użytkownik, który wydał to zamówienie"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Nie znaleziono wybranego elementu magazynowego w BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Budowa"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Element magazynowy"
@@ -1143,7 +1146,7 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Ilość"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Numer seryjny"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Lokalizacja"
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Element BOM"
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Towar musi znajdować się w magazynie"
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Data docelowa"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Zakończone"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Zakończone"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Zamówienie zakupu"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Dodane przez"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Partia"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Utworzony"
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr "Przydziel zapasy do budowy"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Załączniki"
msgid "Build Notes"
msgstr "Notatki tworzenia"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Nazwa firmy"
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Szablon"
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Złożenie"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponent"
@@ -2217,7 +2220,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Możliwość zakupu"
@@ -2225,7 +2228,7 @@ msgstr "Możliwość zakupu"
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Możliwość sprzedaży"
@@ -2234,7 +2237,7 @@ msgstr "Możliwość sprzedaży"
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Możliwość śledzenia"
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Obraz"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr "Poprzedni krok"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Opis firmy"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Opis firmy"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Strona WWW"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Witryna internetowa firmy"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adres"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Adres firmy"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Numer telefonu"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Adres E-Mail"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Kontaktowy adres e-mail"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Kontakt"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Punkt kontaktowy"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "jest klientem"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Czy sprzedajesz produkty tej firmie?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "jest dostawcą"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Czy kupujesz przedmioty od tej firmy?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "jest producentem"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Część bazowa"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Wybierz część"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Wybierz część"
msgid "Manufacturer"
msgstr "Producent"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Wybierz producenta"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Numer producenta komponentu"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Komponent producenta"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Wartość"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Jednostki"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Jednostki parametru"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Wybierz dostawcę"
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Opakowanie"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Opakowanie części"
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "wielokrotność"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr "Dostępne"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Domyślna waluta używana dla tego dostawcy"
@@ -3709,6 +3718,18 @@ msgstr "Usuń firmę"
msgid "Delete Company"
msgstr "Usuń firmę"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Klient"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefon"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Załaduj obrazek"
@@ -3828,7 +3849,7 @@ msgstr "Zapasy dostawcy"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Nowe zamówienie zakupu"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Usuń"
@@ -3980,8 +4001,8 @@ msgstr "Nowy parametr"
msgid "Delete parameters"
msgstr "Usuń parametry"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Dodaj parametr"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Towary"
@@ -4137,78 +4158,91 @@ msgstr "Firmy"
msgid "New Company"
msgstr "Nowa firma"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Nazwa etykiety"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Opis etykiety"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etykieta"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Aktywne"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Szerokość [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Wysokość [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Wzór nazwy pliku"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtry"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Cena całkowita"
@@ -4216,7 +4250,7 @@ msgstr "Cena całkowita"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Zamówienie"
@@ -4421,9 +4455,9 @@ msgstr "Odebrane"
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Cena zakupu"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr "Duplikuj wybrane"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr "Dodaj element zamówienia"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Otrzymane elementy"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Oczekujące przesyłki"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Akcje"
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID komponentu"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nazwa komponentu"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Wersja"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "ID kategorii"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Wariant"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "Na stanie"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "W Zamówieniu"
msgid "Used In"
msgstr "Użyte w"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Przydzielono"
@@ -5228,11 +5262,11 @@ msgstr "Przydzielono"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr "Ścieżka kategorii"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Części"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "IPN komponentu"
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Domyślna lokalizacja"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Dostępna ilość"
@@ -5332,882 +5366,882 @@ msgstr "Dostępna ilość"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Kategorie części"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, 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:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Czy ta część stanowi szablon części?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:993
+#: part/models.py:996
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:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:1019
+#: part/models.py:1022
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:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Data"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Dane"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Poziom"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Zatwierdzone"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Waluta zakupu tego towaru"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Kopiuj obraz"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Kopiuj BOM"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Kopiuj parametry"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Duplikuj część"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Usuń istniejące dane"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Pomiń nieprawidłowe wiersze"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Wyczyść istniejący BOM"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Nie podano ilości"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Nieprawidłowa ilość"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr "Powiązane części"
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Minimalny poziom stanu magazynowego"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "Kod QR części"
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Oblicz"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Brak dostępnych cen dostawców"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr "Warianty"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Stan"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Przejdź do przeglądu"
@@ -6844,11 +6882,11 @@ msgstr "Przejdź do przeglądu"
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr "Konfiguracja wtyczki"
msgid "Plugin Configurations"
msgstr "Konfiguracja wtyczek"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Klucz"
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Wtyczka"
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Cena jednostkowa"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Razem"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Wynik"
@@ -7351,7 +7389,7 @@ msgstr "Zainstalowane elementy"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Numer seryjny"
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Zainstalowane w"
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Data ważności"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Lokacje stanu magazynowego"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Właściciel"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Wybierz właściciela"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Nadrzędny towar"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, 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:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Nazwa testu"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr "Cena zakupu tego towaru"
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr "Część musi być dostępna do sprzedaży"
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Lokacje nie są ustawione"
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Ostrzeżenie"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr "Wróć do stanu magazynowego"
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr "Nowa lokalizacja"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr "Wyczerpane stany magazynowe"
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr "Zaległe zlecenia budowy"
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr "Trwające zlecenia zakupu"
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr "Zaległe zlecenia zakupu"
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr "Trwające zlecenia sprzedaży"
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr "Zaległe zlecenia sprzedaży"
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr "Ustawienia kategorii"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Ustawienia serwera"
@@ -8367,20 +8415,20 @@ msgstr "Ustawienia serwera"
msgid "Label Settings"
msgstr "Ustawienia etykiet"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Ustawienia logowania"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Rejestracja"
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr "Wtyczki"
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr "Instaluj wtyczkę"
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr "Wersja"
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr "Nieaktywne wtyczki"
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr "Błąd stosu wtyczki"
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr "Etap"
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr "Wiadomość"
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "Informacje o wtyczce"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr "brak dostarczonych informacji o wersji"
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr "Licencja"
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr "Informacje o kodzie są pobierane z najnowszego commita git dla tej wtyczki. Może on nie odzwierciedlać oficjalnych numerów wersji lub informacji, ale faktyczny uruchomiony kod."
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr "Informacje o pakiecie"
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr "Sposób instalacji"
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr "Ta wtyczka została zainstalowana jako pakiet"
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "Ścieżka instalacji"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr "Autor commitu"
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Data commitu"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Hash commitu"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr "Wiadomość commitu"
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Status podpisu"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr "Klucz podpisu"
@@ -8588,12 +8636,12 @@ msgstr "Nigdy"
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "Nie znaleziono szablonów parametrów kategorii"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Edytuj szablon"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Usuń szablon"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "Prześlij raport o błędzie"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "skopiuj do schowka"
@@ -9045,21 +9094,25 @@ msgstr "skopiuj do schowka"
msgid "copy version information"
msgstr "kopiuj informacje o wersji"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "Potwierdź adres e-mail"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Proszę potwierdzić że %(email)s jest adresem e-mail dla użytkownika %(user_display)s."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Potwierdź"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Ten link potwierdzający adres e-mail wygasł, bądź jest nieprawidłowy. Proszę o zażądanie nowego e-maila potwierdzającego adres e-mail."
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr "Wymagana ilość"
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Otrzymujesz tę wiadomość, ponieważ masz włączone powiadomienia dla tej części "
@@ -9296,16 +9349,16 @@ msgstr "Otrzymujesz tę wiadomość, ponieważ masz włączone powiadomienia dla
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Minimalna ilość"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Brak odpowiedzi"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr "Brak odpowiedzi z serwera InvenTree"
@@ -9317,27 +9370,27 @@ msgstr "Błąd 400: Błędne żądanie"
msgid "API request returned error code 400"
msgstr "Żądanie interfejsu API zwróciło kod błędu 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Błąd 401: Nieuwierzytelniony"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr "Dane uwierzytelniające nie zostały dostarczone"
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Błąd 403: Odmowa dostępu"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Błąd 404: Nie znaleziono zasobu"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze"
@@ -9349,11 +9402,11 @@ msgstr "Błąd 405: Metoda nie jest dozwolona"
msgid "HTTP method not allowed at URL"
msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL"
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Błąd 408: Przekroczony limit czasu"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr "Limit czasu połączenia podczas żądania danych z serwera"
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr "Nieznana odpowiedź serwera"
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr "Niepoprawna odpowiedź serwera"
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr "Sprawdź"
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr "Dane wiersza"
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr "Zobacz BOM"
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Wybierz części"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr "Wybierz"
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "prawda"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "fałsz"
@@ -10212,7 +10273,7 @@ msgstr "Dodaj nowy filtr"
msgid "Clear all filters"
msgstr "Wyczyść wszystkie filtry"
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr "Utwórz filtr"
@@ -10274,11 +10335,11 @@ msgstr "Nazwa pola"
msgid "Select Columns"
msgstr "Wybór Kolumn"
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr "TAK"
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr "Nie"
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Anuluj"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Zatwierdź"
@@ -10333,47 +10394,47 @@ msgstr "Zatwierdź"
msgid "Form Title"
msgstr "Tytuł formularza"
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr "Oczekiwanie na serwer..."
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr "Pokaż informacje o błędzie"
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr "Zaakceptuj"
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr "Wczytywanie danych"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr "Niepoprawna odpowiedź serwera"
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr "Brak danych formularza z odpowiedzi serwera"
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Błąd podczas wysyłania danych formularza"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr "Brak danych w formularzu odpowiedzi JSON"
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "400: Nieprawidłowe zapytanie"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "Serwer zwrócił kod błędu 400"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Błąd podczas żądania danych formularza"
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Nie znaleziono części"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Brak kategorii"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Wyświetl jako listę"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Wyświetl jako siatkę"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Ustaw kategorię części"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Nie znaleziono zamówień sprzedaży"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr "Obserwowana kategoria"
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr "Numer referencyjny przesyłki"
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr "Nie wysłano"
@@ -11239,71 +11302,71 @@ msgstr "Śledzenie"
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Potwierdź przydział zapasów"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr "Oblicz cenę"
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr "Zaktualizuj cenę jednostkową"
@@ -11503,7 +11566,7 @@ msgstr "Weź"
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "Dodaj"
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Kod statusu musi być wybrany"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Szczegóły"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "Lokalizacja już nie istnieje"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr "Zamówienie zakupu już nie istnieje"
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr "Klient już nie istnieje"
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr "Element magazynowy już nie istnieje"
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr "Usunięto"
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr "Ważne daty"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Grupa"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Widok"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Zmień"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Uprawnienie do usuwania przedmiotów"
+
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 401926d662..b1b9f7b948 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Insira uma Data"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Insira uma Data"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Anotações"
@@ -105,75 +105,75 @@ msgstr "O endereço primário de e-mail não é válido."
msgid "The provided email domain is not approved."
msgstr "O domínio de e-mail providenciado não foi aprovado."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Erro de conexão"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "O servidor respondeu com código estado inválido"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Ocorreu uma exceção"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "O servidor respondeu com valor inválido do tamanho de conteúdo"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Tamanho da imagem muito grande"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "O download da imagem excedeu o tamanho máximo"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "O servidor remoto retornou resposta vazia"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "A URL fornecida não é um arquivo de imagem válido"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Quantidade invalida"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Numero serial em branco"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Número de série duplicado"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Numero de grupo invalido:{g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Intervalo de grupos {g} excede a quantidade permitida ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Sequencia de grupo invalida:{g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Nenhum numero serial encontrado"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Remova as \"tags\" HTML deste valor"
@@ -217,7 +217,7 @@ msgstr "Arquivo nao encontrado"
msgid "Missing external link"
msgstr "Link externo nao encontrado"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Anexo"
msgid "Select file to attach"
msgstr "Selecione arquivo para anexar"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Link para URL externa"
@@ -259,11 +259,11 @@ msgstr "Comentario sobre arquivo"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Usuario"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Escolha inválida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Nome"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Descricao"
@@ -364,13 +364,13 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Caminho"
#: InvenTree/models.py:744
msgid "Markdown notes (optional)"
-msgstr ""
+msgstr "Notas Markdown (opcional)"
#: InvenTree/models.py:771
msgid "Barcode Data"
@@ -400,189 +400,189 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Moeda"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "Selecione a Moeda nas opções disponíveis"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Nome do arquivo"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Valor inválido"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Arquivo de dados"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Selecione um arquivo de dados para enviar"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Tipo de arquivo não suportado"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "O arquivo é muito grande"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Nenhuma coluna encontrada no arquivo"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Nenhuma linha de dados encontrada no arquivo"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Nenhuma linha de dados fornecida"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Nenhuma coluna de dados fornecida"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Falta a coluna obrigatória: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Coluna duplicada: \"{col}\""
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Endereço da URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL do arquivo de imagem remoto"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tcheco"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Dinamarquês"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Alemão"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grego"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Inglês"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Espanhol"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Espanhol (Mexicano)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Persa"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francês"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebraico"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonês"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Holandês"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norueguês"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polonês"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Português"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Português (Brasileiro)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Esloveno"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tailandês"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Chinês"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Falha em verificar o histórico do trabalhador"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr "Em Progresso"
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Enviado"
@@ -716,7 +716,7 @@ msgstr "Separado do Item Paternal"
msgid "Split child item"
msgstr "Separar o Item filho"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Itens de estoque mesclados"
@@ -837,7 +837,7 @@ msgstr "Ondem de Produção"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,23 +854,23 @@ msgstr "Referência do pedido de produção"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referência"
#: build/models.py:166
msgid "Brief description of the build (optional)"
-msgstr ""
+msgstr "Breve descrição da produção (opcional)"
#: build/models.py:174 build/templates/build/build_base.html:189
#: build/templates/build/detail.html:87
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Ordem de produção para qual este serviço está alocado"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Ordem de produção para qual este serviço está alocado"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Ordem de produção para qual este serviço está alocado"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Peça"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Ordem de Venda para qual esta produção está alocada"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Local de Origem"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Código de situação da produção"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Código de Lote"
@@ -994,7 +994,7 @@ msgstr "Código de Lote"
msgid "Batch code for this build output"
msgstr "Código do lote para esta saída de produção"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Data de conclusão"
@@ -1018,7 +1018,7 @@ msgstr "Data de conclusão"
msgid "completed by"
msgstr "Concluído em"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Emitido em"
@@ -1030,10 +1030,10 @@ msgstr "Usuário que emitiu esta ordem de produção"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link Externo"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Item do estoque selecionado não encontrado na LDM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Produção"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Faça uma Produção para atribuir peças"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Item de estoque"
@@ -1143,7 +1146,7 @@ msgstr "Origem do item em estoque"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Origem do item em estoque"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Origem do item em estoque"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Origem do item em estoque"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Quantidade"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Destino do Item do Estoque"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Saída da Produção"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Entre a quantidade da saída de produção"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Quantidade deve ser maior que zero"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Números de Série"
@@ -1255,7 +1258,7 @@ msgstr "Alocar Números de Série Automaticamente"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "Os seguintes números de série já existem ou são inválidos"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "Uma lista de saídas de produção deve ser fornecida"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Local"
@@ -1290,13 +1293,13 @@ msgstr "Local para saídas de produção concluídas"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Situação"
@@ -1326,7 +1329,7 @@ msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas
#: build/serializers.py:492
msgid "Not permitted"
-msgstr ""
+msgstr "Não permitido"
#: build/serializers.py:493
msgid "Accept as consumed by this build order"
@@ -1376,8 +1379,8 @@ msgstr "Quantidade de produção requerida não foi concluída"
msgid "Build order has incomplete outputs"
msgstr "Pedido de produção tem saídas incompletas"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "Item LDM"
@@ -1393,7 +1396,7 @@ msgstr "Saída de produção deve indicar a mesma produção"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bin_item.part deve indicar a mesma peça da ordem de produção"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Item deve estar em estoque"
@@ -1583,13 +1586,13 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Data alvo"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Concluído"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Concluído"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Pedido de Venda"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Emitido por"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "Prioridade"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Excluir Ordem de Produção"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr "QR Code do Pedido de Produção"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr "Vincular código de barras ao Pedido de Produção"
@@ -1682,11 +1685,11 @@ msgstr "Peças alocadas"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Lote"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Criado"
@@ -1716,7 +1719,7 @@ msgstr "Pedido de Produção Filho"
msgid "Allocate Stock to Build"
msgstr "Alocar Estoque para Produção"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Estoque não alocado"
@@ -1810,7 +1813,7 @@ msgstr "Saídas de Produção concluídas"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Anexos"
msgid "Build Notes"
msgstr "Notas de produção"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "Alocação Concluída"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "Todos os itens não rastreáveis foram alocados"
@@ -1851,7 +1854,7 @@ msgstr "Saídas Concluídas"
#: common/files.py:63
#, python-brace-format
msgid "Unsupported file format: {fmt}"
-msgstr ""
+msgstr "Formato de arquivo não suportado: {fmt}"
#: common/files.py:65
msgid "Error reading file (invalid encoding)"
@@ -1902,15 +1905,15 @@ msgstr "Tempo da última atualização"
#: templates/js/translated/table_filters.js:20
#: templates/project_code_data.html:6
msgid "Project Code"
-msgstr ""
+msgstr "Código do projeto"
#: common/models.py:104
msgid "Unique project code"
-msgstr ""
+msgstr "Código único do projeto"
#: common/models.py:111
msgid "Project description"
-msgstr ""
+msgstr "Descrição do projeto"
#: common/models.py:528
msgid "Settings key (must be unique - case insensitive)"
@@ -1981,7 +1984,7 @@ msgstr "Restringir a exibição 'sobre'"
msgid "Show the `about` modal only to superusers"
msgstr "Mostrar 'sobre' modal apenas para superusuários"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Nome da empresa"
@@ -2047,7 +2050,7 @@ msgstr "Profundidade padrão de visualização da árvore. Níveis mais profundo
#: common/models.py:1016
msgid "Update Check Interval"
-msgstr ""
+msgstr "Atualizar Intervalo de Verificação"
#: common/models.py:1017
msgid "How often to check for updates (set to zero to disable)"
@@ -2187,7 +2190,7 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Modelo"
msgid "Parts are templates by default"
msgstr "Peças são modelos por padrão"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Montagem"
msgid "Parts can be assembled from other components by default"
msgstr "Peças podem ser montadas a partir de outros componentes por padrão"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2220,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Peças podem ser usadas como sub-componentes por padrão"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Comprável"
@@ -2225,7 +2228,7 @@ msgstr "Comprável"
msgid "Parts are purchaseable by default"
msgstr "Peças são compráveis por padrão"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendível"
@@ -2234,7 +2237,7 @@ msgstr "Vendível"
msgid "Parts are salable by default"
msgstr "Peças vão vendíveis por padrão"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Rastreável"
msgid "Parts are trackable by default"
msgstr "Peças vão rastreáveis por padrão"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -2746,11 +2749,11 @@ msgstr "Ativar extensões para responder a eventos internos"
#: common/models.py:1663
msgid "Enable project codes"
-msgstr ""
+msgstr "Habilitar códigos de projeto"
#: common/models.py:1664
msgid "Enable project codes for tracking projects"
-msgstr ""
+msgstr "Ativar códigos de projeto para rastrear projetos"
#: common/models.py:1670
msgid "Stocktake Functionality"
@@ -2786,11 +2789,11 @@ msgstr "Nenhuma impressora (Exportar para PDF)"
#: common/models.py:1746
msgid "Hide inactive parts"
-msgstr ""
+msgstr "Ocultar peças inativas"
#: common/models.py:1747
msgid "Hide inactive parts in results displayed on the homepage"
-msgstr ""
+msgstr "Ocultar peças inativas nos resultados exibidos na página inicial"
#: common/models.py:1753
msgid "Show subscribed parts"
@@ -3180,7 +3183,7 @@ msgstr "Limite máximo de comprimento para frases exibidas nas visualizações d
msgid "Price break quantity"
msgstr "Quantidade de Parcelamentos"
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr "Ponto final em qual o gancho web foi recebido"
msgid "Name for this webhook"
msgstr "Nome para este webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "Título"
msgid "Published"
msgstr "Publicado"
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "Autor"
@@ -3306,13 +3309,19 @@ msgstr "Lida"
msgid "Was this news item read?"
msgstr "Esta notícia do item foi lida?"
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Imagem"
#: common/models.py:2706
msgid "Image file"
-msgstr ""
+msgstr "Arquivo de imagem"
#: common/notifications.py:291
#, python-brace-format
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr "Erro criado pela extensão"
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Peças importadas"
msgid "Previous Step"
msgstr "Passo Anterior"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Descrição da empresa"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Descrição da empresa"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Página Web"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "URL do Site da empresa"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Endereço"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Endereço da empresa"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Número de telefone"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Número de telefone do contato"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "Email"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Endereço de e-mail do contato"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Contato"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Ponto de contato"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Link para informações externas da empresa"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "é cliente"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Você vende itens para esta empresa?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "é fornecedor"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Você compra itens desta empresa?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "é fabricante"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Esta empresa fabrica peças?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Moeda padrão utilizada para esta empresa"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Empresa"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Peça base"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Selecionar peça"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Selecionar peça"
msgid "Manufacturer"
msgstr "Fabricante"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Selecionar fabricante"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Selecionar fabricante"
msgid "MPN"
msgstr "NPF"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Número de Peça do Fabricante"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "Descrição da peça do fabricante"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Peça do Fabricante"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Nome do parâmetro"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Valor"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Valor do Parâmetro"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Unidades"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Unidades do parâmetro"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base"
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base
msgid "Supplier"
msgstr "Fornecedor"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Selecione o fornecedor"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Selecione o fornecedor"
msgid "SKU"
msgstr "Código (SKU)"
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Unidade de reserva de estoque fornecedor"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "Selecionar peça do fabricante"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "URL do link externo da peça do fabricante"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "Descrição da peça fornecedor"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Anotação"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "preço base"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Taxa mínima (ex.: taxa de estoque)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Embalagem"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "Embalagem de peças"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "Embalagem de peças"
msgid "Pack Quantity"
msgstr "Quantidade de embalagens"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "Quantidade fornecida em um único pacote"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "múltiplo"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "Pedir múltiplos"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "Pedir múltiplos"
msgid "Available"
msgstr "Disponível"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "Quantidade disponível do fornecedor"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr "Disponibilidade Atualizada"
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr "Data da última atualização da disponibilidade dos dados"
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Moeda padrão utilizada para este fornecedor"
@@ -3709,6 +3718,18 @@ msgstr "Excluir a empresa"
msgid "Delete Company"
msgstr "Excluir Empresa"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "Excluir imagem"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Cliente"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Telefone"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "Remover imagem"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr "Remover imagem associada a esta empresa"
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "Remover"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Enviar imagem"
@@ -3828,7 +3849,7 @@ msgstr "Estoque do Fornecedor"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Novo Pedido de Compra"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Novo Pedido de Venda"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Estoque Atribuído"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr "Pedidos de Devolução"
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr "Criar novo pedido de devolução"
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr "Novo Pedido de Devolução"
@@ -3956,9 +3977,9 @@ msgstr "Excluir peças do fornecedor"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Excluir"
@@ -3980,8 +4001,8 @@ msgstr "Novo parâmetro"
msgid "Delete parameters"
msgstr "Excluir parâmetros"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Adicionar parâmetro"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr "Contatos"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Fornecedor da Peça"
@@ -4095,7 +4116,7 @@ msgstr "Vincular Código de Barras à Parte do Fornecedor"
msgid "Update Part Availability"
msgstr "Atualizar disponibilidade de peças"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "Atualizar disponibilidade de peças"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Itens de Estoque"
@@ -4137,78 +4158,91 @@ msgstr "Empresas"
msgid "New Company"
msgstr "Nova Empresa"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Nome da etiqueta"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Descrição da etiqueta"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etiqueta"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Arquivo de modelo de etiqueta"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Habilitado"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Modelo de Etiqueta Habilitado"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Largura [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Largura da etiqueta, em mm"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Altura [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Altura da Etiqueta, em mm"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Padrão de Nome de Arquivo"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Padrão para gerar nomes do arquivo das etiquetas"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "Filtros de consulta (lista de valores separados por vírgula),"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtros"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "Filtros de consulta (lista de valores separados por vírgula"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Preço Total"
@@ -4216,7 +4250,7 @@ msgstr "Preço Total"
msgid "No matching purchase order found"
msgstr "Nenhum pedido de compra correspondente encontrado"
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr "Nenhum pedido de compra correspondente encontrado"
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Pedido de Compra"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "Desconhecido"
@@ -4240,11 +4274,11 @@ msgstr "Preço total deste pedido"
#: order/models.py:75 order/serializers.py:48
msgid "Order Currency"
-msgstr ""
+msgstr "Moeda do pedido"
#: order/models.py:77 order/serializers.py:49
msgid "Currency for this order (leave blank to use company default)"
-msgstr ""
+msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)"
#: order/models.py:206
msgid "Contact does not match selected company"
@@ -4252,7 +4286,7 @@ msgstr "O contato não corresponde à empresa selecionada"
#: order/models.py:228
msgid "Order description (optional)"
-msgstr ""
+msgstr "Descrição do pedido (opcional)"
#: order/models.py:230
msgid "Select project code for this order"
@@ -4399,7 +4433,7 @@ msgstr "excluído"
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr "Pedido"
@@ -4421,9 +4455,9 @@ msgstr "Recebido"
msgid "Number of items received"
msgstr "Número de itens recebidos"
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Preço de Compra"
@@ -4571,7 +4605,7 @@ msgstr "Somente itens da série podem ser devolvidos"
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr "Devolver pedido"
@@ -4925,7 +4959,7 @@ msgstr "Duplicar seleção"
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr "Itens de linha"
msgid "Received Stock"
msgstr "Estoque Recebido"
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr "Itens do Pedido de Compra"
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr "Itens do Pedido de Compra"
msgid "Add Line Item"
msgstr "Adicionar item de linha"
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr "Receber os itens do pedido"
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr "Excluir Itens de Linha"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr "Linhas Extra"
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr "Adicionar Linha Extra"
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr "Itens Recebidos"
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr "Envios Pendentes"
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Ações"
@@ -5145,42 +5179,42 @@ msgstr "Atualizado {part} unid.-preço para {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID da Peça"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nome da Peça"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr "Descrição da Peça"
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr "IPN"
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Revisão"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Palavras chave"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "ID da Categoria"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr "Nome da Categoria"
@@ -5192,11 +5226,11 @@ msgstr "ID Local Padrão"
msgid "Default Supplier ID"
msgstr "ID de Fornecedor Padrão"
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante de"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "Em Estoque"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "No pedido"
msgid "Used In"
msgstr "Usado em"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "Alocado"
@@ -5228,11 +5262,11 @@ msgstr "Alocado"
msgid "Building"
msgstr "Produzindo"
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Custo Mínimo"
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Custo Máximo"
@@ -5249,13 +5283,13 @@ msgstr "Nome Paternal"
msgid "Category Path"
msgstr "Caminho da Categoria"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Peças"
@@ -5272,7 +5306,7 @@ msgstr "ID Item LDM"
msgid "Parent IPN"
msgstr "IPN Paternal"
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "IPN da Peça"
@@ -5314,17 +5348,17 @@ msgstr "Validar a Lista de Materiais completa"
msgid "This option must be selected"
msgstr "Esta opção deve ser selecionada"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Local Padrão"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "Estoque Total"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Estoque Disponível"
@@ -5332,882 +5366,882 @@ msgstr "Estoque Disponível"
msgid "Input quantity for price calculation"
msgstr "Quantidade para o cálculo de preço"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria da Peça"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Categorias de Peça"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Local padrão para peças desta categoria"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Estrutural"
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas."
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Palavras-chave Padrão"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Palavras-chave padrão para peças nesta categoria"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "Ícone"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "Ícone (opcional)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!"
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr "Escolha inválida para peça parental"
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)"
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN deve corresponder ao padrão regex {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr "Item em estoque com este número de série já existe"
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Não é permitido duplicar IPN em configurações de partes"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Uma parte com este Nome, IPN e Revisão já existe."
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Peças não podem ser atribuídas a categorias estruturais!"
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Nome da peça"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "É um modelo"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Esta peça é uma peça modelo?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Esta peça é variante de outra peça?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Categoria"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Categoria da Peça"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Numero interno do produto"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Revisão de peça ou número de versão"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Onde este item é armazenado normalmente?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Fornecedor Padrão"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Fornecedor padrão da peça"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr "Validade Padrão"
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr "Validade (em dias) para itens do estoque desta peça"
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Nível mínimo de estoque permitido"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "Unidade de medida para esta peça"
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Essa peça pode ser construída a partir de outras peças?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "Essa peça pode ser usada para construir outras peças?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Esta parte tem rastreamento para itens únicos?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Esta peça pode ser comprada de fornecedores externos?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Esta peça pode ser vendida a clientes?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Esta parte está ativa?"
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Esta é uma peça virtual, como um software de produto ou licença?"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr "Soma de Verificação da LDM"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr "Soma de verificação da LDM armazenada"
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr "LDM conferida por"
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr "LDM verificada no dia"
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Criação de Usuário"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr "Usuário responsável por esta peça"
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr "Último Balanço"
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr "Venda múltipla"
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr "Moeda usada para armazenar os cálculos de preços"
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr "Custo Mínimo da LDM"
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr "Custo mínimo das peças componentes"
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr "Custo Máximo da LDM"
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr "Custo máximo das peças componentes"
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "Custo Mínimo de Compra"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr "Custo mínimo histórico de compra"
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "Custo Máximo de Compra"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "Custo máximo histórico de compra"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "Preço Interno Mínimo"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr "Custo mínimo baseado nos intervalos de preço internos"
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "Preço Interno Máximo"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr "Custo máximo baseado nos intervalos de preço internos"
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr "Preço Mínimo do Fornecedor"
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr "Preço mínimo da peça de fornecedores externos"
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr "Preço Máximo do Fornecedor"
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr "Preço máximo da peça de fornecedores externos"
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr "Custo Mínimo variável"
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr "Custo mínimo calculado das peças variáveis"
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr "Custo Máximo Variável"
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr "Custo máximo calculado das peças variáveis"
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr "Custo total mínimo calculado"
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr "Custo total máximo calculado"
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr "Preço Mínimo de Venda"
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr "Preço mínimo de venda baseado nos intervalos de preço"
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr "Preço Máximo de Venda"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr "Preço máximo de venda baseado nos intervalos de preço"
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr "Custo Mínimo de Venda"
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr "Preço histórico mínimo de venda"
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr "Custo Máximo de Venda"
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr "Preço histórico máximo de venda"
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr "Peça para Balanço"
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr "Total de Itens"
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr "Número de entradas de estoques individuais no momento do balanço"
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr "Estoque total disponível no momento do balanço"
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "Data"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr "Data de realização do balanço"
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "Notas adicionais"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr "Usuário que fez o balanço"
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr "Custo Mínimo de Estoque"
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr "Custo mínimo estimado de estoque disponível"
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr "Custo Máximo de Estoque"
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr "Custo máximo estimado de estoque disponível"
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "Reportar"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr "Arquivo de Relatório de Balanço (gerado internamente)"
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr "Contagem de Peças"
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr "Número de peças cobertas pelo Balanço"
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr "Usuário que solicitou este relatório de balanço"
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr "Modelos de teste só podem ser criados para peças rastreáveis"
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr "O teste com este nome já existe para esta peça"
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Nome de Teste"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr "Insira um nome para o teste"
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Descrição do Teste"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr "Digite a descrição para este teste"
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Este teste é obrigatório passar?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr "Requer Valor"
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr "Este teste requer um valor ao adicionar um resultado de teste?"
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr "Anexo obrigatório"
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Este teste requer um anexo ao adicionar um resultado de teste?"
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "Nome do modelo de parâmetro deve ser único"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr "Nome do Parâmetro"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr "Unidades do Parâmetro"
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr "Descrição do Parâmetro"
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Peça Paternal"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Modelo de parâmetro"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr "Dados"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr "Valor do Parâmetro"
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valor Padrão"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr "Valor Padrão do Parâmetro"
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "ID da peça ou nome da peça"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr "Valor exclusivo do ID de peça"
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Valor da parte IPN"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr "Nível"
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr "Nível da LDM"
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Selecione a Peça Parental"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "Sub peça"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Selecionar peça a ser usada na LDM"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr "Quantidade de LDM para este item LDM"
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr "Este item LDM é opcional"
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumível"
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)"
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Excedente"
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)"
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr "Referência do Item LDM"
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr "Notas do Item LDM"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr "Soma de verificação"
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr "Soma de Verificação da LDM da linha"
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validado"
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr "O item da LDM foi calidado"
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Obtém herdados"
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este item da LDM é herdado por LDMs para peças variáveis"
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Permitir variações"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM"
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "Quantidade deve ser valor inteiro para peças rastreáveis"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr "Sub peça deve ser especificada"
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr "Substituir Item da LDM"
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr "A peça de substituição não pode ser a mesma que a peça mestre"
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr "Item LDM Parental"
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr "Substituir peça"
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "Selecionar Peça Relacionada"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr "Relacionamento da peça não pode ser criada com ela mesma"
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr "Relação duplicada já existe"
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Moeda de compra deste item de estoque"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr "Peça Original"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr "Selecione a peça original para duplicar"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "Copiar imagem"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "Copiar imagem da peça original"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr "Copiar LDM"
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr "Copiar lista de materiais da peça original"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Copiar Parâmetros"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr "Copiar dados do parâmetro da peça original"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr "Quantidade Inicial de Estoque"
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado."
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr "Local Inicial do Estoque"
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr "Especifique o local do estoque inicial para esta Peça"
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr "Selecione o fornecedor (ou deixe em branco para pular)"
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr "Selecione fabricante (ou deixe em branco para pular)"
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr "Número de Peça do Fabricante"
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr "A empresa selecionada não é um fornecedor válido"
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr "A empresa selecionada não é um fabricante válido"
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr "A peça do fabricante que corresponde a essa MPN já existe"
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr "A peça do fornecedor que corresponde a essa SKU já existe"
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Peça duplicada"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr "Copiar dados iniciais de outra peça"
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr "Estoque inicial"
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr "Criar peça com a quantidade inicial de estoque"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr "Informações do Fornecedor"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr "Adicionar informação inicial de fornecedor para esta peça"
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Copiar Parâmetros da Categoria"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada"
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes"
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas"
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho"
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr "Gerar relatório"
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr "Gerar arquivo de relatório contendo dados de estoque calculados"
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr "Atualizar Peças"
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr "Atualizar peças especificadas com dados de estoque calculados"
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr "Função de Balanço de Estoque não está ativada"
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "Atualizar"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr "Atualizar preços desta peça"
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr "Selecionar peça para copiar a LDM"
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "Remover Dado Existente"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr "Remova itens LDM existentes antes de copiar"
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr "Incluir Herdados"
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr "Incluir itens LDM que são herdados de peças modelo"
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr "Pular Linhas inválidas"
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr "Habilitar esta opção para pular linhas inválidas"
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr "Copiar Peças Substitutas"
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr "Copiar peças de substitutas quando duplicar itens de LDM"
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr "Limpar LDM Existente"
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr "Apagar itens LDM existentes antes de carregar"
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr "Nenhuma coluna de peça especificada"
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr "Múltiplas peças correspondentes encontradas"
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "Nenhuma peça correspondente encontrada"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr "Peça não está designada como componente"
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "Quantidade não foi fornecida"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr "Quantidade Inválida"
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr "Pelo menos um item LDM é necessário"
@@ -6220,25 +6254,25 @@ msgstr "Notificação de estoque baixo"
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido"
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "Quantidade Total"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr "Custo Min Total"
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr "Custo Max Total"
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr "Balanço de Estoque Disponível"
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr "Um novo relatório de balanço do estoque está disponível para baixar"
@@ -6390,7 +6424,7 @@ msgstr "Adicionar informações de balanço de estoque"
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr "Balanço"
@@ -6496,7 +6530,7 @@ msgstr "Peça Relacionada"
msgid "Add Related Part"
msgstr "Adicionar peça relacionada"
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Adicionar Modelo de Resultado de Teste"
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Nível mínimo de estoque"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "QR Code da Peça"
msgid "Link Barcode to Part"
msgstr "Vincular Código de Barras à Peça"
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Calcular"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr "Remover imagem associada a esta peça"
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr "Nenhuma informação dos preços do fornecedor disponível"
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr "Preço LDM"
@@ -6755,8 +6793,8 @@ msgstr "Variantes"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Estoque"
@@ -6789,7 +6827,7 @@ msgstr "Atualizar Preço da Peça"
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "Última atualização"
@@ -6813,7 +6851,7 @@ msgstr "Preço Interno"
msgid "Purchase History"
msgstr "Histórico de Compras"
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr "Preço Variável"
@@ -6821,7 +6859,7 @@ msgstr "Preço Variável"
msgid "Overall Pricing"
msgstr "Preços Gerais"
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr "Histórico de vendas"
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr "Dados do intervalo de preços não estão disponíveis para esta peça."
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "Ir para visão geral"
@@ -6844,11 +6882,11 @@ msgstr "Ir para visão geral"
msgid "Add Internal Price Break"
msgstr "Adicionar intervalo de preço interno"
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr "Preço de Venda"
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr "Adicionar intervalo de preço de venda"
@@ -7036,7 +7074,7 @@ msgstr "Configuração de Extensão"
msgid "Plugin Configurations"
msgstr "Configuração de Extensões"
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr "Chave"
@@ -7064,7 +7102,7 @@ msgstr "Plug-in de exemplo"
msgid "Builtin Plugin"
msgstr "Plugin embutido"
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr "Extensões"
@@ -7278,7 +7316,7 @@ msgstr "Fornecedor foi excluído"
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "Preço unitário"
@@ -7291,21 +7329,21 @@ msgstr "Extra Itens de Linha"
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Número de Sério"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr "Resultados do teste"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Teste"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr "Resultado"
@@ -7351,7 +7389,7 @@ msgstr "Itens instalados"
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Série"
@@ -7392,7 +7430,7 @@ msgstr "Nome do Fornecedor"
msgid "Customer ID"
msgstr "ID Cliente"
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Instalado em"
@@ -7417,398 +7455,398 @@ msgstr "Revisão Necessária"
msgid "Delete on Deplete"
msgstr "Excluir quando esgotado"
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr "Data de validade"
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr "Localização externa"
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr "Quantidade obrigatória"
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr "Uma peça válida deve ser fornecida"
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Números de série não podem ser fornecidos para uma parte não rastreável"
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Localizacao do estoque"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Locais de estoque"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Responsavel"
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr "Selecionar Responsável"
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos."
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Externo"
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr "Esta é uma localização de estoque externo"
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!"
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!"
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr "Item de estoque não pode ser criado para peças virtuais"
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Tipo da peça ('{pf}') deve ser {pe}"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr "A quantidade deve ser 1 para um item com número de série"
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de série não pode ser definido se quantidade maior que 1"
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr "O item não pode pertencer a si mesmo"
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr "Item deve ter uma referência de produção se is_building=True"
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr "Referência de produção não aponta ao mesmo objeto da peça"
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Item de Estoque Parental"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Peça base"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque"
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr "Onde está localizado este item de estoque?"
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr "Embalagem deste item de estoque está armazenado em"
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr "Este item está instalado em outro item?"
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Número de série para este item"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Código do lote para este item de estoque"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr "Quantidade de Estoque"
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Produção de Origem"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr "Produção para este item de estoque"
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr "Pedido de compra Fonte"
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr "Pedido de Compra para este item de estoque"
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr "Destino do Pedido de Venda"
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Excluir quando esgotado"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Excluir este item de estoque quando o estoque for esgotado"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr "Preço de compra unitário único no momento da compra"
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr "Convertido para peça"
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "Peça não está definida como rastreável"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr "Quantidade deve ser inteira"
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({n})"
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "Números de série devem ser uma lista de números inteiros"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "A quantidade não corresponde aos números de série"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr "Item em estoque foi reservado para um pedido"
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr "Item em estoque está instalado em outro item"
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr "item em estoque contem outro(s) items"
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr "Item em estoque foi reservado para outro cliente"
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr "Item no estoque está em produção no momento"
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr "Itens de série não podem ser mesclados"
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr "Item de estoque duplicado"
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr "Itens de estoque devem se referir à mesma peça"
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr "Itens de estoque devem se referir à mesma peça do fornecedor"
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr "Códigos de estado do estoque devem corresponder"
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma"
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr "Observações de entrada"
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr "Deve-se fornecer o valor desse teste"
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr "O anexo deve ser enviado para este teste"
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr "Nome de teste"
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr "Permitir estado incompatível"
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr "Permitir a fusão de itens de estoque com estado diferentes"
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr "Notas de Item Estoque"
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr "Inativo"
msgid "No stocktake performed"
msgstr "Nenhum balanço feito"
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr "Editar Situação do Estoque"
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr "Estoque Inativo"
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "Apagar notificações"
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr "Configurações de Balanço"
msgid "Stocktake Reports"
msgstr "Relatório de Balanço"
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr "Placa da Situação"
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Confirmar"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No author found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Nenhum autor encontrado"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr "Situação do Estoque"
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr "Definir Estado do Estoque"
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr "Selecionar Código de Situação"
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr "Código de Situação deve ser selecionado"
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Grupo"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 624a54f01e..885db833a6 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: 2023-04-28 10:51+0000\n"
+"POT-Creation-Date: 2023-05-02 10:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -42,7 +42,7 @@ msgstr ""
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
+#: stock/admin.py:121 stock/models.py:2122 stock/models.py:2230
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -53,7 +53,7 @@ msgstr ""
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr ""
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2224
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -235,7 +235,7 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
@@ -264,7 +264,7 @@ msgstr ""
#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr ""
@@ -310,16 +310,16 @@ msgstr ""
#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr ""
@@ -337,22 +337,22 @@ msgstr ""
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr ""
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -717,7 +717,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -838,7 +838,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -861,7 +861,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
@@ -903,17 +903,17 @@ msgstr ""
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -926,9 +926,9 @@ msgstr ""
#: templates/js/translated/sales_order.js:1515
#: templates/js/translated/sales_order.js:1716
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -945,7 +945,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
+#: templates/js/translated/build.js:2203
#: templates/js/translated/sales_order.js:1104
msgid "Source Location"
msgstr ""
@@ -1011,7 +1011,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1019,7 +1019,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1034,7 +1034,7 @@ msgstr ""
#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1048,6 +1048,9 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
@@ -1108,7 +1111,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1123,7 +1126,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
#: templates/js/translated/sales_order.js:1117
#: templates/js/translated/sales_order.js:1416
@@ -1131,7 +1134,7 @@ msgstr ""
#: templates/js/translated/sales_order.js:1522
#: templates/js/translated/sales_order.js:1612
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1161,12 +1164,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1181,8 +1184,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1618
#: templates/js/translated/sales_order.js:1738
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1199,7 +1202,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1225,7 +1228,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1365
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1269,8 +1272,8 @@ msgstr ""
#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
#: templates/js/translated/sales_order.js:1428
@@ -1278,8 +1281,8 @@ msgstr ""
#: templates/js/translated/sales_order.js:1547
#: templates/js/translated/sales_order.js:1626
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1291,13 +1294,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1584,7 +1587,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
@@ -1629,7 +1632,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1640,19 +1643,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1683,11 +1686,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1697,7 +1700,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1717,7 +1720,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1811,7 +1814,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1825,11 +1828,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -3289,8 +3292,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3308,6 +3311,12 @@ msgid "Was this news item read?"
msgstr ""
#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3341,7 +3350,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3387,7 +3396,7 @@ msgid "Description of the company"
msgstr ""
#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
@@ -3533,7 +3542,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2217 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3545,7 +3554,7 @@ msgstr ""
#: company/models.py:399 part/admin.py:40 part/models.py:980
#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
@@ -3623,7 +3632,7 @@ msgstr ""
#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
@@ -3657,9 +3666,9 @@ msgstr ""
#: company/models.py:575 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3710,6 +3719,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3734,7 +3755,7 @@ msgstr ""
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3748,7 +3769,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3757,14 +3778,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3829,7 +3850,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3852,7 +3873,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3870,7 +3891,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3886,12 +3907,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3957,7 +3978,7 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
#: templates/js/translated/stock.js:189 users/models.py:245
msgid "Delete"
@@ -3981,8 +4002,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4011,7 +4032,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4104,7 +4125,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4204,6 +4225,19 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
@@ -4227,7 +4261,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
@@ -4424,7 +4458,7 @@ msgstr ""
#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4572,7 +4606,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4926,7 +4960,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4985,11 +5019,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4998,35 +5032,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5116,7 +5150,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5161,14 +5195,14 @@ msgid "Part Description"
msgstr ""
#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
@@ -5208,7 +5242,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5218,8 +5252,8 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
#: templates/js/translated/sales_order.js:1840
msgid "Allocated"
msgstr ""
@@ -5256,7 +5290,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5320,7 +5354,7 @@ msgstr ""
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -5348,7 +5382,7 @@ msgstr ""
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
@@ -5436,7 +5470,7 @@ msgstr ""
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
@@ -5534,7 +5568,7 @@ msgstr ""
#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
@@ -5685,13 +5719,13 @@ msgstr ""
#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
@@ -5723,7 +5757,7 @@ msgstr ""
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
@@ -5731,7 +5765,7 @@ msgstr ""
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
@@ -5751,7 +5785,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3259 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
@@ -5767,7 +5801,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3271 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
@@ -5776,7 +5810,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3277 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
@@ -5784,7 +5818,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3283 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
@@ -5871,7 +5905,7 @@ msgstr ""
#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
@@ -5882,7 +5916,7 @@ msgid "This BOM item is optional"
msgstr ""
#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
@@ -6391,7 +6425,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6497,7 +6531,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6662,7 +6696,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6685,11 +6719,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6718,7 +6756,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6756,8 +6794,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6790,7 +6828,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6814,7 +6852,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6822,7 +6860,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6835,9 +6873,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6845,11 +6883,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7037,7 +7075,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7065,7 +7103,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7300,7 +7338,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
@@ -7320,12 +7358,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2205 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2211
msgid "Result"
msgstr ""
@@ -7352,7 +7390,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7420,7 +7458,7 @@ msgstr ""
#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
@@ -7465,7 +7503,7 @@ msgstr ""
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
@@ -7587,104 +7625,104 @@ msgstr ""
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1356
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1362
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1368
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1371
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1374
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1381 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1452
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1455
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1458
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1461
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1464
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1467
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1474 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1478
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1482
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1486
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1655
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2123
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2181
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2187
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2206
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2212
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2218
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2225
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2231
msgid "Test notes"
msgstr ""
@@ -7850,7 +7888,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8004,7 +8042,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8040,35 +8078,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8142,15 +8185,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8212,11 +8260,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8252,43 +8300,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8298,7 +8346,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8318,19 +8366,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8359,7 +8407,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8368,20 +8416,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8436,57 +8484,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8494,69 +8542,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8589,12 +8637,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8655,12 +8703,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8672,33 +8720,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8766,7 +8814,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9039,6 +9087,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9046,21 +9095,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9289,7 +9342,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9297,16 +9350,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9318,27 +9371,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9350,11 +9403,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9419,7 +9472,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9456,48 +9509,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9514,8 +9567,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9629,7 +9682,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9649,26 +9702,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
#: templates/js/translated/sales_order.js:1821
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9696,11 +9749,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9830,170 +9883,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
#: templates/js/translated/sales_order.js:1566
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
#: templates/js/translated/sales_order.js:1567
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
+#: templates/js/translated/build.js:1918
#: templates/js/translated/sales_order.js:1828
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
+#: templates/js/translated/build.js:1920
#: templates/js/translated/sales_order.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
+#: templates/js/translated/build.js:2016
#: templates/js/translated/sales_order.js:1927
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
+#: templates/js/translated/build.js:2023
#: templates/js/translated/sales_order.js:1921
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
#: templates/js/translated/sales_order.js:1090
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
+#: templates/js/translated/build.js:2062
#: templates/js/translated/sales_order.js:1091
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
+#: templates/js/translated/build.js:2204
#: templates/js/translated/sales_order.js:1105
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
+#: templates/js/translated/build.js:2243
#: templates/js/translated/sales_order.js:1202
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
+#: templates/js/translated/build.js:2316
#: templates/js/translated/sales_order.js:1279
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10176,12 +10237,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10213,7 +10274,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10275,11 +10336,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10292,7 +10353,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10320,12 +10381,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10334,47 +10395,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10677,109 +10738,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10945,7 +11010,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11582,164 +11647,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 949f39bb9a..9dda84dc94 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Введите дату"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Введите дату"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Заметки"
@@ -105,75 +105,75 @@ msgstr "Указанный основной адрес электронной п
msgid "The provided email domain is not approved."
msgstr "Указанный домен электронной почты не утверждён."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Ошибка соединения"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Произошло исключение"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Изображение слишком большое"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Пустая строка серийного номера"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Серийных номеров не найдено"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr "Файл не найден"
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
@@ -259,11 +259,11 @@ msgstr "Комментарий к файлу"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Пользователь"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Неверный выбор"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Название"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Описание"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "родитель"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Путь"
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Валюта"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Имя файла"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Неверное значение"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Файл данных"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Выберите файл данных для загрузки"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Неподдерживаемый тип файла"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Файл слишком большой"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Столбцы в файле не найдены"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Строки данных в файле не найдены"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Повторяющийся столбец: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Ссылка"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Чешский"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Датский"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Испанский (Мексика)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Фарси / Персидский"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Венгерский"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Португальский"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Португальский (Бразильский диалект)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Словенский"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Китайский"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Проверка фонового работника не удалась"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Доставлено"
@@ -716,7 +716,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Объединенные позиции на складе"
@@ -837,7 +837,7 @@ msgstr "Порядок сборки"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Ссылка на заказ"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Отсылка"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Детали"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Расположение источника"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Код статуса сборки"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Код партии"
@@ -994,7 +994,7 @@ msgstr "Код партии"
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Дата завершения"
@@ -1018,7 +1018,7 @@ msgstr "Дата завершения"
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Выдал/ла"
@@ -1030,10 +1030,10 @@ msgstr "Пользователь, выпустивший этот заказ н
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Выбранная единица хранения не найдена в BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Сборка"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Предметы на складе"
@@ -1143,7 +1146,7 @@ msgstr "Исходный складской предмет"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Исходный складской предмет"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Исходный складской предмет"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Исходный складской предмет"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Количество"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Серийные номера"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Расположение"
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Статус"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "Компонент должен быть в наличии"
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Целевая дата"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Завершённые"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Завершённые"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Заказ покупателя"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Выдано"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Удалить заказ на сборку"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Партия"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Создано"
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Приложения"
msgid "Build Notes"
msgstr "Заметки сборки"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Название компании"
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Шаблон"
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Сборка"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Компонент"
@@ -2217,7 +2220,7 @@ msgstr "Компонент"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Можно продавать"
@@ -2234,7 +2237,7 @@ msgstr "Можно продавать"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Отслеживание"
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Изображение"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "Детали импортированы"
msgid "Previous Step"
msgstr "Предыдущий шаг"
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "Описание компании"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "Описание компании"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "Сайт"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Сайт компании"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Адрес"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Адрес компании"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Телефон"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "Контактный телефон"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "EMail"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "Контактный EMail"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "Контакт"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr "Контактное лицо"
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "покупатель"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Вы продаёте детали этой компании?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "поставщик"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Вы закупаете детали у этой компании?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "производитель"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "Компания"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Базовая деталь"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Выберите деталь"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Выберите деталь"
msgid "Manufacturer"
msgstr "Производитель"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Выберите производителя"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Выберите производителя"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Код производителя"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr "Ссылка на сайт производителя"
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "Деталь производителя"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Наименование параметра"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Значение"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "Ед.изм"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "Единицы измерения"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr "Поставщик"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Выберите поставщика"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Выберите поставщика"
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr "Код поставщика"
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "Ссылка на сайт поставщика"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Заметка"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Упаковка"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "Для этого поставщика используется валюта по умолчанию"
@@ -3709,6 +3718,18 @@ msgstr "Удалить компанию"
msgid "Delete Company"
msgstr "Удалить компанию"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Покупатель"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "Телефон"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "Загрузить изображение"
@@ -3828,7 +3849,7 @@ msgstr "Склад поставщика"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Новый заказ на закупку"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Новый заказ на продажу"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Удалить деталь поставщика"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "Удалить"
@@ -3980,8 +4001,8 @@ msgstr "Новый параметр"
msgid "Delete parameters"
msgstr "Удалить параметры"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "Добавить параметр"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Деталь поставщика"
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Детали на складе"
@@ -4137,78 +4158,91 @@ msgstr "Компании"
msgid "New Company"
msgstr "Новая компания"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Ширина [мм]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Высота [мм]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Фильтры"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr "Общая стоимость"
@@ -4216,7 +4250,7 @@ msgstr "Общая стоимость"
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Закупочная цена"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "Действия"
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "Артикул"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "Наименование детали"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Версия"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Ключевые слова"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "Код категории"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Разновидность"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Минимальный запас"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "На складе"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr "Сборки"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr "Путь к категории"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Детали"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr "IPN"
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Место хранения по умолчанию"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "Доступный запас"
@@ -5332,882 +5366,882 @@ msgstr "Доступный запас"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Место хранения по умолчанию для деталей этой категории"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr "Ключевые слова по умолчанию"
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "Ключевые слова по умолчанию для деталей этой категории"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN должен совпадать с регулярным выражением {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "Категория"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "Категория"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr "Валюта покупки этой единицы хранения"
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "Дублировать деталь"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Копировать параметры категории"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr "Подходящая деталь не найдена"
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr "Минимальный складской запас"
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr "Разновидности"
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Склад"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Серийный номер"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Место хранения"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Места хранения"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Родительская единица хранения"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr "Базовая деталь"
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr "Код партии для этой единицы хранения"
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr "Исходная сборка"
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту единицу хранения при обнулении складского запаса"
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr "Выбранная деталь отсутствует в спецификации"
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr "Выбранная компания не является покупателем"
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr "Заметки о единице хранения"
msgid "Installed Stock Items"
msgstr "Установленные единицы хранения"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr "Установить единицу хранения"
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Предупреждение"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr "Создать новое место хранения"
msgid "New Location"
msgstr "Новое место хранения"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr "Настройки заказа на сборку"
msgid "Category Settings"
msgstr "Настройки категории"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr "Настройки сервера"
@@ -8367,20 +8415,20 @@ msgstr "Настройки сервера"
msgid "Label Settings"
msgstr "Настройки меток"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr "Настройки входа"
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr "Настройки плагинов"
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "Шаблоны параметров категории не найдены"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Редактировать шаблон"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Удалить шаблон"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "Идентификатор"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "Подтверждение адреса электронной почты"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr "Пожалуйста, подтвердите, что %(email)s является адресом электронной почты пользователя %(user_display)s."
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Подтвердить"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Эта ссылка для подтверждения электронной почты устарела или является недействительной. Пожалуйста, отправьте новый запрос на подтверждение электронной почты."
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr "Вы получили это письмо, потому что вы подписаны на оповещения об этой детали "
@@ -9296,16 +9349,16 @@ msgstr "Вы получили это письмо, потому что вы по
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr "Минимальное количество"
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr "Ошибка 400: Некорректный запрос"
msgid "API request returned error code 400"
msgstr "API-запрос вернул код ошибки 400"
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr "Ошибка 401: Авторизация не выполнена"
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr "Ошибка 403: Доступ запрещён"
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "У вас нет прав доступа к этой функции"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr "Ошибка 404: Ресурс не найден"
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr "Ошибка 405: Метод не разрешён"
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr "Ошибка 408: Таймаут"
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr "Удалить элемент BOM"
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr "Элементы BOM не найдены"
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "Отменить"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Подтвердить"
@@ -10333,47 +10394,47 @@ msgstr "Подтвердить"
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr "Ошибка отправки данных формы"
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr "Ошибка 400: Некорректный запрос"
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr "Сервер вернул код ошибки 400"
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr "Ошибка запроса данных формы"
@@ -10659,7 +10720,7 @@ msgstr "Заказов на закупку не найдено"
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "Детали не найдены"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Нет категории"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "Список"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "Таблица"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "Укажите категорию"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No sales orders found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Заказы на продажу не найдены"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "Дерево"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Подтвердите выделение запасов"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "Права доступа"
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Вид"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
+
diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po
index 747317145f..6382fdbfa3 100644
--- a/InvenTree/locale/sl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Vnesi datum"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Vnesi datum"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Zapiski"
@@ -105,75 +105,75 @@ msgstr "Podana epošta ni veljavna."
msgid "The provided email domain is not approved."
msgstr "Domena epošte ni podprta."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Napaka povezave"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Odziv serverja: napravilni status kode"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Pojavila se je izjema"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Odziv serverja: napačna dolžina vrednosti"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Prevelika velikost slike"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Prenos slike presegel največjo velikost"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Oddaljeni server vrnil prazen odziv"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Podani URL ni veljavna slikovna datoteka"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Podana napačna količina"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Prazno polje serijske številke"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Dvojna serijska številka"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Nepravilni obseg skupine: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "Obseg skupine {g} presega dovoljeno vrednost ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Nepravilno zaporedje skupine: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Serijske številke niso najdene"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Število unikatnih serijskih številk ({s}) se mora ujemati s količino ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Odstranite oznako HTML iz te vrednosti"
@@ -217,7 +217,7 @@ msgstr "Manjka datoteka"
msgid "Missing external link"
msgstr "Manjka zunanja povezava"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Priloga"
msgid "Select file to attach"
msgstr "Izberite prilogo"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Povezava"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Zunanja povezava"
@@ -259,11 +259,11 @@ msgstr "Komentar datoteke"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Uporabnik"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Nedovoljena izbira"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Ime"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Opis"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "nadrejen"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Pot"
@@ -400,189 +400,189 @@ msgstr "Napaka strežnika"
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Ime datoteke"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Neveljavna vrednost"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Podatki datoteke"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Izberite datoteke za naložiti"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Nepodprta vrsta datotek"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Datoteka je prevelika"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "V datoteki ni bilo najdenih stolpcev"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "V datoteki ni bilo njadenih vrstic"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Niso bile podane vrste s podatki"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Niso bili podani stolpci s podatki"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Manjka obvezni stolpec: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Dvojni stolpec: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "Povezava"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "Povezava do oddaljene slike"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Češko"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "Danščina"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Nemščina"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grščina"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Angleščina"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Španščina"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Španščina (Mehiško)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Perzijsko"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Francoščina"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebrejščina"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Madžarščina"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italijanščina"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonščina"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Korejščina"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Nizozemščina"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norveščina"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Poljščina"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugalščina"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugalščina (Brazilsko)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Ruščina"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "Slovenščina"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Švedščina"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tajščina"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turščina"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamščina"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Kitajščina"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Nadzor dela v ozadju neuspel"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Poslano"
@@ -716,7 +716,7 @@ msgstr "Razdeljena od nadrejene postavke"
msgid "Split child item"
msgstr "Razdeljena podrejena postavka"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Združena zaloga postavk"
@@ -837,7 +837,7 @@ msgstr "Nalog izgradnje"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Referenca naloga izgradnje"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referenca"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Del"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Dobavnica na katero se navezuje ta izgradnja"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Lokacija vira"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Koda statusa izgradnje"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Številka serije"
@@ -994,7 +994,7 @@ msgstr "Številka serije"
msgid "Batch code for this build output"
msgstr "Številka serije za to izgradnjo"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Datom končanja"
@@ -1018,7 +1018,7 @@ msgstr "Datom končanja"
msgid "completed by"
msgstr "dokončal"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Izdal"
@@ -1030,10 +1030,10 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Zunanja povezava"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Izbrana postavka ni najdena v BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Izdelava"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Izdelaj da prestaviš dele"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Postavka zaloge"
@@ -1143,7 +1146,7 @@ msgstr "Izvorna postavka zaloge"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Izvorna postavka zaloge"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Izvorna postavka zaloge"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Izvorna postavka zaloge"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Količina"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Destinacija postavke zaloge"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Izgradnja"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr ""
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Serijske številke niso najdene"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 044abdd731..dad9be21eb 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Ange datum"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Ange datum"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Anteeckningar"
@@ -105,75 +105,75 @@ msgstr "Den angivna primära e-postadressen är inte giltig."
msgid "The provided email domain is not approved."
msgstr "Den angivna e-postdomänen är inte godkänd."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Anslutningsfel"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Servern svarade med ogiltig statuskod"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Undantag inträffade"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Servern svarade med ogiltigt innehållslängdsvärde"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Bilden är för stor"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Nedladdning av bilder överskred maximal storlek"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Fjärrservern returnerade tomt svar"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Angiven URL är inte en giltig bildfil"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Tom serienummersträng"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr ""
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Ogiltigt gruppområde: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "Ogiltig gruppsekvens: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Inga serienummer hittades"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "Antal unika serienummer ({s}) måste matcha antal ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "Ta bort HTML-taggar från detta värde"
@@ -217,7 +217,7 @@ msgstr "Saknad fil"
msgid "Missing external link"
msgstr "Extern länk saknas"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Länk"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Länk till extern URL"
@@ -259,11 +259,11 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Användare"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Ogiltigt val"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Namn"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Beskrivning"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "överordnad"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "Sökväg"
@@ -400,189 +400,189 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Filnamn"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Ogiltigt värde"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Datafil"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Välj fil för uppladdning"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Filtypen stöds inte"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Filen är för stor"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Inga kolumner hittades i filen"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Inga rader hittades i filen"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Inga rader angivna"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Inga datakolumner har angetts"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Saknar obligatorisk kolumn: '{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Duplicerad kolumn: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "URL för fjärrbildsfil"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "Tjeckiska"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "Spanska (Mexikanska)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "Farsi / Persiska"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Ungerska"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "Portugisiska"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasiliansk)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Kinesiska"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Kontroll av bakgrundsarbetare misslyckades"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Skickad"
@@ -716,7 +716,7 @@ msgstr "Dela från överordnat objekt"
msgid "Split child item"
msgstr "Dela underordnat objekt"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Sammanfogade lagerposter"
@@ -837,7 +837,7 @@ msgstr "Byggorder"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Byggorderreferens"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referens"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Del"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Försäljningsorder till vilken detta bygge allokeras"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Källa Plats"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Bygg statuskod"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchkod"
@@ -994,7 +994,7 @@ msgstr "Batchkod"
msgid "Batch code for this build output"
msgstr "Batch-kod för denna byggutdata"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum."
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Slutförandedatum"
@@ -1018,7 +1018,7 @@ msgstr "Slutförandedatum"
msgid "completed by"
msgstr "slutfört av"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Utfärdad av"
@@ -1030,10 +1030,10 @@ msgstr "Användare som utfärdade denna byggorder"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Extern länk"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "Vald lagervara hittades inte i BOM"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Bygg"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Bygg för att allokera delar"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Artikel i lager"
@@ -1143,7 +1146,7 @@ msgstr "Källa lagervara"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Källa lagervara"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Källa lagervara"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Källa lagervara"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Antal"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Destination lagervara"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "Bygg utdata"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Serienummer"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Plats"
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Status"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Måldatum"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Slutförd"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Slutförd"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Försäljningsorder"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Utfärdad av"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Skapad"
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Bilagor"
msgid "Build Notes"
msgstr "Bygganteckningar"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Företagsnamn"
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Artiklar"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN måste matcha regex mönster {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Bekräfta"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Välj artiklar"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Inga serienummer hittades"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index 59cc776945..551d9fb719 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 20:00\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "ป้อนวันที่"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "ป้อนวันที่"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "หมายเหตุ"
@@ -105,75 +105,75 @@ msgstr ""
msgid "The provided email domain is not approved."
msgstr ""
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "การเชื่อมต่อขัดข้อง"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr ""
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr ""
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr ""
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "ไฟล์รูปภาพมีขนาดใหญ่เกินไป"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr ""
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr ""
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr ""
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr ""
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "หมายเลขซีเรียลซ้ำกัน"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr ""
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "ไม่พบหมายเลขซีเรียล"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "ไฟล์แนบ"
msgid "Select file to attach"
msgstr "เลือกไฟล์ที่ต้องการแนบ"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "ลิงก์"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr ""
@@ -259,11 +259,11 @@ msgstr "ความเห็นของไฟล์"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "ผู้ใช้งาน"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "ชื่อ"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "คำอธิบาย"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "ชื่อไฟล์"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "ไฟล์ข้อมูล"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "เลือกไฟล์ข้อมูลที่จะอัปโหลด"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr ""
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "ไฟล์มีขนาดใหญ่เกินไป"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr ""
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr ""
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr ""
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr ""
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "ภาษาโปรตุเกส"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "ภาษารัสเซีย"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "ภาษาสวีเดน"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "ภาษาไทย"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "ภาษาเวียดนาม"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "ภาษาจีน"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "จัดส่งแล้ว"
@@ -716,7 +716,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -837,7 +837,7 @@ msgstr ""
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr ""
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr ""
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr ""
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr ""
@@ -1018,7 +1018,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "สถานะ"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr ""
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr ""
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr ""
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No serial numbers found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "ไม่พบหมายเลขซีเรียล"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index cf2436abf1..a7a5ed65d4 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Tarih giriniz"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Tarih giriniz"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Notlar"
@@ -105,75 +105,75 @@ msgstr "Sağlanan e-posta adresi geçerli değil."
msgid "The provided email domain is not approved."
msgstr "Sağlanan e-posta alanı onaylanmadı."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Bağlantı hatası"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Sunucu geçersiz durum kodu ile cevap verdi"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "İstisna oluştu"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Sunucu geçersiz Content-Length değeriyle yanıt verdi"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Resim boyutu çok büyük"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Resim indirme boyutu izin verilenden büyük"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Uzak sunucu boş cevap döndü"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "Sağlanan URL geçerli bir resim dosyası değil"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Boş seri numarası dizesi"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Yinelenen seri"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Geçersiz grup: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "Seri numarası bulunamadı"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr "Eksik dosya"
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -259,11 +259,11 @@ msgstr "Dosya yorumu"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Kullanıcı"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "Geçersiz seçim"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "Adı"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Açıklama"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "üst"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "Para birimi"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Dosya adı"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "Geçersiz değer"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "Veri Dosyası"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "Yüklemek istediğiniz dosyayı seçin"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "Desteklenmeyen dsoya tipi"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "Dosya boyutu çok büyük"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "Dosyada kolon bulunamadı"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "Dosyada satır bulunamadı"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "Dosyada uygun kolon bulunamadı"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "Gerekli kolon ismi eksik:'{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "Tekrarlanan kolon ismi:'{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr ""
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "İspanyolca(Meksika)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "Macarca"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "Vietnamca"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "Çince"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "Arka plan çalışanı kontrolü başarısız oldu"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "Sevk edildi"
@@ -716,7 +716,7 @@ msgstr "Üst ögeden ayır"
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "Stok parçalarını birleştir"
@@ -837,7 +837,7 @@ msgstr "Yapım İşi Emri"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "Yapım İşi Emri Referansı"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "Referans"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Parça"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "Kaynak Konum"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Yapım işi durum kodu"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Sıra numarası"
@@ -994,7 +994,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:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,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:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -1018,7 +1018,7 @@ msgstr "Tamamlama tarihi"
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "Veren"
@@ -1030,10 +1030,10 @@ msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "Yapım İşi"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "Stok Kalemi"
@@ -1143,7 +1146,7 @@ msgstr "Kaynak stok kalemi"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "Kaynak stok kalemi"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "Kaynak stok kalemi"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "Kaynak stok kalemi"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "Miktar"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "Hedef stok kalemi"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "Seri Numaraları"
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "Konum"
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Durum"
@@ -1376,8 +1379,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "Hedeflenen tarih"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Tamamlandı"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Tamamlandı"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "Sipariş Emri"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "Veren"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "Yapım İşi Emrini Sil"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "Toplu"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "Oluşturuldu"
@@ -1716,7 +1719,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:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
@@ -1810,7 +1813,7 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "Ekler"
msgid "Build Notes"
msgstr "Yapım İşi Notları"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "Şirket adı"
@@ -2187,7 +2190,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala"
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "Şablon"
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "Montaj"
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:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Bileşen"
@@ -2217,7 +2220,7 @@ msgstr "Bileşen"
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:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "Satın Alınabilir"
@@ -2225,7 +2228,7 @@ msgstr "Satın Alınabilir"
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Satılabilir"
@@ -2234,7 +2237,7 @@ msgstr "Satılabilir"
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "Takip Edilebilir"
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "Resim"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "Şirket web sitesi"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "Adres"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "Şirket adresi"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "Telefon numarası"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "İletişim telefon numarası"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "E-posta"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "İletişim e-posta adresi"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "İletişim"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "müşteri mi"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "Bu şirkete ürün satıyor musunuz?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "tedarikçi mi"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "Bu şirketten ürün satın alıyor musunuz?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "üretici mi"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr "Temel Parça"
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "Parça seçin"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "Parça seçin"
msgid "Manufacturer"
msgstr "Üretici"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "Üretici seçin"
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "Parametre adı"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "Değer"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "Tedarikçi seçin"
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "Not"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "Paketleme"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr "çoklu"
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr "Mevcut"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "Müşteri"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr "Tedarikçi Stoku"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "Yeni Satın Alma Emri"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "Yeni Satış Emri"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr "Atanan Stok"
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "Tedarikçi parçalarını sil"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -4137,78 +4158,91 @@ msgstr "Şirketler"
msgid "New Company"
msgstr "Yeni Şirket"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "Etiket adı"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "Etiket tanımı"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "Etiket"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "Etiket şablon listesi"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "Etkin"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "Etiket sablonu etkinleştirildi"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "Genişlik [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "Etiket genişliği mm olarak belirtilmeli"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "Yükseklik [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "Etiket yüksekliği mm olarak belirtilmeli"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "Dosya Adı Deseni"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr "Etiket dosya adları oluşturma için desen"
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "Filtreler"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr ""
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "İşlemler"
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr "DPN"
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "Revizyon"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimum Stok"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Parçalar"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Varsayılan Konum"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN regex kalıbıyla eşleşmelidir {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:856
+#: part/models.py:859
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:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:993
+#: part/models.py:996
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:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
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:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
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:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:3627
+#: part/models.py:3630
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:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr ""
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr "Hesapla"
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Stok"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "Seri Numara"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr "Seri No"
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Stok Konumu"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "Stok Konumları"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
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:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "İşlem notu ekle (isteğe bağlı)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "Konum ayarlanmadı"
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "Uyarı"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr "Bu işlem kolayca geri alınamaz"
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr "Yeni stok konumu oluştur"
msgid "New Location"
msgstr "Yeni Konum"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr "Yapım İşi Emirleri için Gerekli"
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr "Kategori Ayarları"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr "Commit Tarihi"
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr "Commit Hash Değeri"
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "Şablonu Düzenle"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "Şablonu Sil"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "Kategori Parametre Şablonu Oluştur"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr "Parça Parametre Şablonu Oluştur"
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr "Parça Parametre Şablonu Düzenle"
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "Hata Raporu Gönder"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "panoya kopyala"
@@ -9045,21 +9094,25 @@ msgstr "panoya kopyala"
msgid "copy version information"
msgstr "sürüm bilgisini kopyala"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "Onay"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr "Cevap Yok"
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz"
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr "Stok kalemi zaten bu konumda"
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr "Konuma Kaydet"
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr "Barkod geçerli bir konumla eşleşmiyor"
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr "Gerekli Parça"
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "Parçaları Seçin"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr "doğru"
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr "yanlış"
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "Katagori Yok"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "Subcategories"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Alt kategoriler"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "Stok tahsisini onayla"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "Silme İşlemini Onayla"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr "Seri Numaralarını Tahsis Et"
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "Detaylar"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "Yetkiler"
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "Grup"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "Görünüm"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "Parçaları silme izni"
+
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 0719a99a61..ae1e9ca4e0 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "Nhập ngày"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "Nhập ngày"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "Ghi chú"
@@ -105,75 +105,75 @@ msgstr "Địa chỉ email chính đã cung cấp không hợp lệ."
msgid "The provided email domain is not approved."
msgstr "Miền email được cung cấp không được phê duyệt."
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "Lỗi kết nối"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "Máy chủ phản hồi với mã trạng thái không hợp lệ"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "Xảy ra Exception"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "Máy chủ đã phản hồi với giá trị Content-Length không hợp lệ"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "Hình ảnh quá lớn"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "Tải xuống hình ảnh vượt quá kích thước tối đa"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "Máy chủ trả về phản hồi trống"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "Số lượng cung cấp không hợp lệ"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "Chuỗi số sê-ri trống"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "Trùng lặp sê-ri"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "Phạm vi nhóm không hợp lệ: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr ""
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr ""
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr ""
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "Đính kèm"
msgid "Select file to attach"
msgstr "Chọn file đính kèm"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "Liên kết"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "Liên kết đến URL bên ngoài"
@@ -259,11 +259,11 @@ msgstr "Bình luận tệp tin"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "Người dùng"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr ""
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "Mô tả"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr ""
@@ -400,189 +400,189 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr ""
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr ""
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr ""
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "Tên tập tin"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr ""
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr ""
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr ""
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
-msgstr ""
+msgstr "Loại tệp tin không được hỗ trợ"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
-msgstr ""
+msgstr "Tệp tin quá lớn"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
-msgstr ""
+msgstr "Không tìm thấy cột nào trong tệp tin"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
-msgstr ""
+msgstr "Không tìm thấy dòng nào trong tệp tin"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
-msgstr ""
+msgstr "Chưa có dữ liệu"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr ""
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr ""
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
-msgstr ""
+msgstr "Nhân bản cột: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
-msgstr ""
+msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr ""
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr ""
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr ""
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:719
-msgid "French"
-msgstr ""
-
-#: InvenTree/settings.py:720
-msgid "Hebrew"
-msgstr ""
-
#: InvenTree/settings.py:721
-msgid "Hungarian"
-msgstr ""
+msgid "French"
+msgstr "Tiếng Pháp"
#: InvenTree/settings.py:722
-msgid "Italian"
-msgstr ""
+msgid "Hebrew"
+msgstr "Tiếng Do Thái"
#: InvenTree/settings.py:723
-msgid "Japanese"
-msgstr ""
+msgid "Hungarian"
+msgstr "Tiếng Hung-ga-ri"
#: InvenTree/settings.py:724
-msgid "Korean"
-msgstr ""
+msgid "Italian"
+msgstr "Tiếng Ý"
#: InvenTree/settings.py:725
-msgid "Dutch"
-msgstr ""
+msgid "Japanese"
+msgstr "Tiếng Nhật"
#: InvenTree/settings.py:726
-msgid "Norwegian"
-msgstr ""
+msgid "Korean"
+msgstr "Tiếng Hàn"
#: InvenTree/settings.py:727
-msgid "Polish"
-msgstr ""
+msgid "Dutch"
+msgstr "Tiếng Hà Lan"
#: InvenTree/settings.py:728
-msgid "Portuguese"
-msgstr ""
+msgid "Norwegian"
+msgstr "Tiếng Na Uy"
#: InvenTree/settings.py:729
-msgid "Portuguese (Brazilian)"
-msgstr ""
+msgid "Polish"
+msgstr "Tiếng Ba Lan"
#: InvenTree/settings.py:730
-msgid "Russian"
-msgstr ""
+msgid "Portuguese"
+msgstr "Tiếng Bồ Đào Nha"
#: InvenTree/settings.py:731
-msgid "Slovenian"
-msgstr ""
+msgid "Portuguese (Brazilian)"
+msgstr "Tiếng Bồ Đào Nha (Brazil)"
#: InvenTree/settings.py:732
-msgid "Swedish"
-msgstr ""
+msgid "Russian"
+msgstr "Tiếng Nga"
#: InvenTree/settings.py:733
-msgid "Thai"
-msgstr ""
+msgid "Slovenian"
+msgstr "Tiếng Slô-ven-ni-a"
#: InvenTree/settings.py:734
-msgid "Turkish"
-msgstr ""
+msgid "Swedish"
+msgstr "Tiếng Thụy Điển"
#: InvenTree/settings.py:735
-msgid "Vietnamese"
-msgstr ""
+msgid "Thai"
+msgstr "Tiếng Thái"
#: InvenTree/settings.py:736
-msgid "Chinese"
-msgstr ""
+msgid "Turkish"
+msgstr "Tiếng Thổ Nhĩ Kỳ"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/settings.py:737
+msgid "Vietnamese"
+msgstr "Tiếng Việt"
+
+#: InvenTree/settings.py:738
+msgid "Chinese"
+msgstr "Tiếng Trung"
+
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr ""
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr ""
@@ -716,7 +716,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr ""
@@ -798,15 +798,15 @@ msgstr ""
#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
-msgstr ""
+msgstr "Sửa thông tin người dùng"
#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:19
msgid "Set Password"
-msgstr ""
+msgstr "Đặt Mật khẩu"
#: InvenTree/views.py:443
msgid "Password fields must match"
-msgstr ""
+msgstr "Mật khẩu phải trùng khớp"
#: InvenTree/views.py:452
msgid "Wrong password provided"
@@ -837,7 +837,7 @@ msgstr "Tạo đơn hàng"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,19 +854,19 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
-msgstr ""
+msgstr "Tham chiếu"
#: build/models.py:166
msgid "Brief description of the build (optional)"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr ""
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "Nguyên liệu"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr ""
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr ""
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,12 +994,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
msgid "Creation Date"
-msgstr ""
+msgstr "Ngày tạo"
#: build/models.py:256
msgid "Target completion date"
@@ -1010,15 +1010,15 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "Ngày hoàn thành"
#: build/models.py:266
msgid "completed by"
-msgstr ""
+msgstr "hoàn thành bởi"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr ""
@@ -1030,10 +1030,10 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr ""
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr ""
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr ""
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr ""
@@ -1143,7 +1146,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr ""
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr ""
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr ""
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr ""
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr ""
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr ""
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr ""
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr ""
@@ -1255,7 +1258,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr ""
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr ""
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr ""
@@ -1290,13 +1293,13 @@ msgstr ""
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "Trạng thái"
@@ -1376,8 +1379,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr ""
@@ -1393,7 +1396,7 @@ msgstr ""
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr ""
@@ -1583,13 +1586,13 @@ msgstr ""
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr ""
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "Đã hoàn thành"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "Đã hoàn thành"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr ""
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr ""
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr ""
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr ""
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr ""
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr ""
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr ""
@@ -1716,7 +1719,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr ""
@@ -1810,7 +1813,7 @@ msgstr ""
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr ""
msgid "Build Notes"
msgstr ""
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr ""
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr ""
@@ -1981,7 +1984,7 @@ msgstr ""
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr ""
@@ -2187,7 +2190,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2220,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2228,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2237,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr ""
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr ""
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr ""
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr ""
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr ""
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr ""
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr ""
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr ""
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr ""
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr ""
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr ""
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr ""
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr ""
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr ""
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr ""
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr ""
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr ""
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr ""
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr ""
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr ""
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr ""
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr ""
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr ""
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr ""
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr ""
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr ""
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr ""
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr ""
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr ""
msgid "Pack Quantity"
msgstr ""
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr ""
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr ""
msgid "Available"
msgstr ""
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr ""
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr ""
@@ -3709,6 +3718,18 @@ msgstr ""
msgid "Delete Company"
msgstr ""
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr ""
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr ""
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr ""
@@ -3828,7 +3849,7 @@ msgstr ""
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr ""
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr ""
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr ""
@@ -3980,8 +4001,8 @@ msgstr ""
msgid "Delete parameters"
msgstr "Xóa các thông số"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr ""
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr ""
@@ -4095,7 +4116,7 @@ msgstr ""
msgid "Update Part Availability"
msgstr ""
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr ""
@@ -4137,78 +4158,91 @@ msgstr ""
msgid "New Company"
msgstr ""
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr ""
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr ""
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr ""
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr ""
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr ""
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr ""
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr ""
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr ""
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr ""
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr ""
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr ""
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr ""
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr ""
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr ""
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr ""
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "Giá mua"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr ""
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr ""
@@ -5228,11 +5262,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Nguyên liệu"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr ""
@@ -5332,882 +5366,882 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr ""
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr ""
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr ""
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr ""
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr ""
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr ""
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr ""
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr ""
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr ""
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr ""
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr ""
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr "Sao chép thông số"
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr ""
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "Sao chép thông số nhóm hàng"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr ""
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr ""
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr ""
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr ""
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr ""
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "Kiện hàng"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6844,11 +6882,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr ""
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr ""
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "Kho hàng"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr ""
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr ""
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr ""
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr ""
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr ""
msgid "New Location"
msgstr ""
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr ""
msgid "Category Settings"
msgstr ""
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr ""
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr ""
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr ""
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr "Những thông số thuộc mẫu này cũng sẽ bị xóa"
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr ""
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr ""
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9045,21 +9094,25 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr ""
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,7 +10352,7 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
+msgid "selected"
msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr ""
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr ""
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "No parameters found"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "Không có thông số được tìm thấy"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr ""
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr ""
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr ""
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr ""
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr ""
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr ""
+
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 549cd416a8..c05e8fc358 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: 2023-04-28 10:51+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-05-03 23:04+0000\n"
+"PO-Revision-Date: 2023-05-04 11:39\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -34,16 +34,16 @@ msgid "Enter date"
msgstr "输入日期"
#: InvenTree/fields.py:204 InvenTree/models.py:743 build/serializers.py:392
-#: build/templates/build/sidebar.html:21 company/models.py:552
+#: build/templates/build/sidebar.html:21 company/models.py:556
#: company/templates/company/sidebar.html:35 order/models.py:1086
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2989 part/templates/part/part_sidebar.html:63
+#: part/models.py:2992 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
-#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
-#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
+#: stock/admin.py:121 stock/models.py:2127 stock/models.py:2235
+#: stock/serializers.py:322 stock/serializers.py:455 stock/serializers.py:536
+#: stock/serializers.py:819 stock/serializers.py:918 stock/serializers.py:1050
#: stock/templates/stock/stock_sidebar.html:25
#: templates/js/translated/barcode.js:130 templates/js/translated/bom.js:1220
#: templates/js/translated/company.js:1272 templates/js/translated/order.js:322
@@ -51,8 +51,8 @@ msgstr "输入日期"
#: templates/js/translated/purchase_order.js:2127
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
-#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/sales_order.js:1892
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "备注"
@@ -105,75 +105,75 @@ msgstr "所提供的主要电子邮件地址无效。"
msgid "The provided email domain is not approved."
msgstr "提供的电子邮件域未被核准。"
-#: InvenTree/helpers.py:168
+#: InvenTree/helpers.py:195
msgid "Connection error"
msgstr "连接错误"
-#: InvenTree/helpers.py:172 InvenTree/helpers.py:177
+#: InvenTree/helpers.py:199 InvenTree/helpers.py:204
msgid "Server responded with invalid status code"
msgstr "服务器响应状态码无效"
-#: InvenTree/helpers.py:174
+#: InvenTree/helpers.py:201
msgid "Exception occurred"
msgstr "发生异常"
-#: InvenTree/helpers.py:182
+#: InvenTree/helpers.py:209
msgid "Server responded with invalid Content-Length value"
msgstr "服务器响应的内容长度值无效"
-#: InvenTree/helpers.py:185
+#: InvenTree/helpers.py:212
msgid "Image size is too large"
msgstr "图片尺寸过大"
-#: InvenTree/helpers.py:197
+#: InvenTree/helpers.py:224
msgid "Image download exceeded maximum size"
msgstr "图像下载超过最大尺寸"
-#: InvenTree/helpers.py:202
+#: InvenTree/helpers.py:229
msgid "Remote server returned empty response"
msgstr "远程服务器返回了空响应"
-#: InvenTree/helpers.py:210
+#: InvenTree/helpers.py:237
msgid "Supplied URL is not a valid image file"
msgstr "提供的 URL 不是一个有效的图片文件"
-#: InvenTree/helpers.py:602 order/models.py:438 order/models.py:599
+#: InvenTree/helpers.py:629 order/models.py:438 order/models.py:599
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
-#: InvenTree/helpers.py:610
+#: InvenTree/helpers.py:637
msgid "Empty serial number string"
msgstr "空序列号字符串"
-#: InvenTree/helpers.py:640
+#: InvenTree/helpers.py:667
msgid "Duplicate serial"
msgstr "重复的序列号"
-#: InvenTree/helpers.py:673 InvenTree/helpers.py:708
+#: InvenTree/helpers.py:700 InvenTree/helpers.py:735
#, python-brace-format
msgid "Invalid group range: {g}"
msgstr "无效的组范围: {g}"
-#: InvenTree/helpers.py:702
+#: InvenTree/helpers.py:729
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
msgstr "组 {g} 超出了允许的数量 ({q})"
-#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
+#: InvenTree/helpers.py:753 InvenTree/helpers.py:760 InvenTree/helpers.py:775
#, python-brace-format
msgid "Invalid group sequence: {g}"
msgstr "无效的组序列: {g}"
-#: InvenTree/helpers.py:758
+#: InvenTree/helpers.py:785
msgid "No serial numbers found"
msgstr "未找到序列号"
-#: InvenTree/helpers.py:761
+#: InvenTree/helpers.py:788
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
-#: InvenTree/helpers.py:960
+#: InvenTree/helpers.py:987
msgid "Remove HTML tags from this value"
msgstr "从这个值中删除 HTML 标签"
@@ -217,7 +217,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2229
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -227,24 +227,24 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
-#: company/models.py:303 company/models.py:539 order/models.py:232
+#: InvenTree/models.py:470 common/models.py:2664 company/models.py:130
+#: company/models.py:304 company/models.py:543 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:894 part/templates/part/part_scheduling.html:11
+#: part/models.py:897 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
#: templates/js/translated/sales_order.js:974
-#: templates/js/translated/sales_order.js:1898
+#: templates/js/translated/sales_order.js:1897
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
-#: stock/models.py:729
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:898
+#: stock/models.py:734
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -259,11 +259,11 @@ msgstr "文件注释"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2997
-#: part/models.py:3085 part/models.py:3164 part/models.py:3184
+#: common/models.py:2594 common/models.py:2595 part/models.py:3000
+#: part/models.py:3088 part/models.py:3167 part/models.py:3187
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "用户"
@@ -305,53 +305,53 @@ msgid "Invalid choice"
msgstr "选择无效"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:840
-#: part/models.py:3332 plugin/models.py:40 report/models.py:159
+#: company/models.py:388 label/models.py:102 part/models.py:843
+#: part/models.py:3335 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "名称"
#: InvenTree/models.py:632 build/models.py:163
#: build/templates/build/detail.html:24 common/models.py:110
-#: company/models.py:309 company/models.py:545
+#: company/models.py:310 company/models.py:549
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
-#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
-#: part/models.py:3341 part/templates/part/category.html:81
+#: company/templates/company/supplier_part.html:108 label/models.py:109
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:865
+#: part/models.py:3344 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "描述信息"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "路径"
@@ -400,189 +400,189 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:59 part/models.py:3701
+#: InvenTree/serializers.py:60 part/models.py:3704
msgid "Must be a valid number"
msgstr "必须是有效数字"
-#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2836
+#: InvenTree/serializers.py:90 company/models.py:152
+#: company/templates/company/company_base.html:107 part/models.py:2839
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
msgstr "货币"
-#: InvenTree/serializers.py:92
+#: InvenTree/serializers.py:93
msgid "Select currency from available options"
msgstr "从可用选项中选择货币"
-#: InvenTree/serializers.py:341
+#: InvenTree/serializers.py:364
msgid "Filename"
msgstr "文件名"
-#: InvenTree/serializers.py:378
+#: InvenTree/serializers.py:401
msgid "Invalid value"
msgstr "无效值"
-#: InvenTree/serializers.py:400
+#: InvenTree/serializers.py:423
msgid "Data File"
msgstr "数据文件"
-#: InvenTree/serializers.py:401
+#: InvenTree/serializers.py:424
msgid "Select data file for upload"
msgstr "选择要上传的文件"
-#: InvenTree/serializers.py:422
+#: InvenTree/serializers.py:445
msgid "Unsupported file type"
msgstr "不支持的文件类型"
-#: InvenTree/serializers.py:428
+#: InvenTree/serializers.py:451
msgid "File is too large"
msgstr "文件过大"
-#: InvenTree/serializers.py:449
+#: InvenTree/serializers.py:472
msgid "No columns found in file"
msgstr "在文件中没有找到列"
-#: InvenTree/serializers.py:452
+#: InvenTree/serializers.py:475
msgid "No data rows found in file"
msgstr "在文件中没有找到数据行"
-#: InvenTree/serializers.py:575
+#: InvenTree/serializers.py:598
msgid "No data rows provided"
msgstr "没有提供数据行"
-#: InvenTree/serializers.py:578
+#: InvenTree/serializers.py:601
msgid "No data columns supplied"
msgstr "没有提供数据列"
-#: InvenTree/serializers.py:655
+#: InvenTree/serializers.py:678
#, python-brace-format
msgid "Missing required column: '{name}'"
msgstr "缺少必需的列:'{name}'"
-#: InvenTree/serializers.py:664
+#: InvenTree/serializers.py:687
#, python-brace-format
msgid "Duplicate column: '{col}'"
msgstr "复制列: '{col}'"
-#: InvenTree/serializers.py:690
+#: InvenTree/serializers.py:713
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
msgstr "URL"
-#: InvenTree/serializers.py:691
+#: InvenTree/serializers.py:714
msgid "URL of remote image file"
msgstr "远程图像文件的 URL"
-#: InvenTree/serializers.py:705
+#: InvenTree/serializers.py:728
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/settings.py:711
+#: InvenTree/settings.py:713
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:712
+#: InvenTree/settings.py:714
msgid "Danish"
msgstr "丹麦语"
-#: InvenTree/settings.py:713
+#: InvenTree/settings.py:715
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:714
+#: InvenTree/settings.py:716
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:715
+#: InvenTree/settings.py:717
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:716
+#: InvenTree/settings.py:718
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:717
+#: InvenTree/settings.py:719
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:718
+#: InvenTree/settings.py:720
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:721
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:722
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:723
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:724
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:725
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:726
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:727
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:728
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:729
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:730
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:731
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:732
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:733
msgid "Slovenian"
msgstr "斯洛文尼亚"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:734
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:735
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:736
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:737
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:738
msgid "Chinese"
msgstr "中文(简体)"
-#: InvenTree/status.py:92 part/serializers.py:879
+#: InvenTree/status.py:92 part/serializers.py:885
msgid "Background worker check failed"
msgstr "后台工作人员检查失败"
@@ -630,9 +630,9 @@ msgid "In Progress"
msgstr ""
#: InvenTree/status_codes.py:183 order/models.py:1323
-#: templates/js/translated/sales_order.js:1440
-#: templates/js/translated/sales_order.js:1564
-#: templates/js/translated/sales_order.js:1868
+#: templates/js/translated/sales_order.js:1439
+#: templates/js/translated/sales_order.js:1563
+#: templates/js/translated/sales_order.js:1867
msgid "Shipped"
msgstr "已发货"
@@ -716,7 +716,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "合并的库存项目"
@@ -837,7 +837,7 @@ msgstr "生产订单"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -854,17 +854,17 @@ msgstr "相关生产订单"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3602 part/templates/part/upload_bom.html:54
+#: part/models.py:3605 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
-#: templates/js/translated/sales_order.js:1732
+#: templates/js/translated/sales_order.js:1731
msgid "Reference"
msgstr "引用"
@@ -882,13 +882,13 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:98
-#: build/templates/build/detail.html:29 company/models.py:718
+#: build/templates/build/detail.html:29 company/models.py:722
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:384 part/models.py:2849 part/models.py:2963
-#: part/models.py:3103 part/models.py:3122 part/models.py:3141
-#: part/models.py:3162 part/models.py:3254 part/models.py:3375
-#: part/models.py:3467 part/models.py:3567 part/models.py:3881
-#: part/serializers.py:843 part/serializers.py:1246
+#: part/models.py:387 part/models.py:2852 part/models.py:2966
+#: part/models.py:3106 part/models.py:3125 part/models.py:3144
+#: part/models.py:3165 part/models.py:3257 part/models.py:3378
+#: part/models.py:3470 part/models.py:3570 part/models.py:3884
+#: part/serializers.py:849 part/serializers.py:1252
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -898,21 +898,21 @@ msgstr "此次生产匹配的订单"
#: report/templates/report/inventree_po_report_base.html:27
#: report/templates/report/inventree_return_order_report_base.html:24
#: report/templates/report/inventree_so_report_base.html:27
-#: stock/serializers.py:144 stock/serializers.py:484
+#: stock/serializers.py:147 stock/serializers.py:489
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -921,13 +921,13 @@ msgstr "此次生产匹配的订单"
#: templates/js/translated/return_order.js:507
#: templates/js/translated/return_order.js:674
#: templates/js/translated/sales_order.js:249
-#: templates/js/translated/sales_order.js:1116
-#: templates/js/translated/sales_order.js:1515
-#: templates/js/translated/sales_order.js:1716
+#: templates/js/translated/sales_order.js:1115
+#: templates/js/translated/sales_order.js:1514
+#: templates/js/translated/sales_order.js:1715
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "商品"
@@ -944,8 +944,8 @@ msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
-#: templates/js/translated/sales_order.js:1104
+#: templates/js/translated/build.js:2203
+#: templates/js/translated/sales_order.js:1103
msgid "Source Location"
msgstr "来源地点"
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "生产状态代码"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:738 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "批量代码"
@@ -994,7 +994,7 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:252 order/models.py:240 part/models.py:1028
+#: build/models.py:252 order/models.py:240 part/models.py:1031
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1010,7 +1010,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "完成日期:"
@@ -1018,7 +1018,7 @@ msgstr "完成日期:"
msgid "completed by"
msgstr "完成人"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "发布者"
@@ -1030,10 +1030,10 @@ msgstr "发布此生产订单的用户"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1032
+#: order/templates/order/sales_order_base.html:222 part/models.py:1035
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1047,7 +1047,10 @@ msgstr "构建此订单的用户或组"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:727
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
+#: part/templates/part/part_base.html:385 stock/models.py:732
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "外部链接"
@@ -1107,7 +1110,7 @@ msgid "Selected stock item not found in BOM"
msgstr "在BOM中找不到选定的库存项"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
@@ -1117,20 +1120,20 @@ msgid "Build to allocate parts"
msgstr "生产以分配部件"
#: build/models.py:1357 build/serializers.py:677 order/serializers.py:1056
-#: order/serializers.py:1077 stock/serializers.py:388 stock/serializers.py:741
-#: stock/serializers.py:867 stock/templates/stock/item_base.html:10
+#: order/serializers.py:1077 stock/serializers.py:393 stock/serializers.py:750
+#: stock/serializers.py:876 stock/templates/stock/item_base.html:10
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
-#: templates/js/translated/sales_order.js:1117
-#: templates/js/translated/sales_order.js:1416
-#: templates/js/translated/sales_order.js:1421
-#: templates/js/translated/sales_order.js:1522
-#: templates/js/translated/sales_order.js:1612
+#: templates/js/translated/sales_order.js:1116
+#: templates/js/translated/sales_order.js:1415
+#: templates/js/translated/sales_order.js:1420
+#: templates/js/translated/sales_order.js:1521
+#: templates/js/translated/sales_order.js:1611
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "库存项"
@@ -1143,7 +1146,7 @@ msgstr "源库存项"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2976 part/models.py:3583
+#: part/forms.py:47 part/models.py:2979 part/models.py:3586
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1152,7 +1155,7 @@ msgstr "源库存项"
#: report/templates/report/inventree_so_report_base.html:29
#: report/templates/report/inventree_test_report_base.html:90
#: report/templates/report/inventree_test_report_base.html:170
-#: stock/admin.py:103 stock/serializers.py:281
+#: stock/admin.py:103 stock/serializers.py:286
#: stock/templates/stock/item_base.html:288
#: stock/templates/stock/item_base.html:296
#: stock/templates/stock/item_base.html:343
@@ -1160,12 +1163,12 @@ msgstr "源库存项"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1174,14 +1177,14 @@ msgstr "源库存项"
#: templates/js/translated/purchase_order.js:1774
#: templates/js/translated/purchase_order.js:1998
#: templates/js/translated/sales_order.js:266
-#: templates/js/translated/sales_order.js:1118
-#: templates/js/translated/sales_order.js:1435
-#: templates/js/translated/sales_order.js:1528
-#: templates/js/translated/sales_order.js:1618
-#: templates/js/translated/sales_order.js:1738
+#: templates/js/translated/sales_order.js:1117
+#: templates/js/translated/sales_order.js:1434
+#: templates/js/translated/sales_order.js:1527
+#: templates/js/translated/sales_order.js:1617
+#: templates/js/translated/sales_order.js:1737
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "数量"
@@ -1198,7 +1201,7 @@ msgid "Destination stock item"
msgstr "目标库存项"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "生产产出"
@@ -1223,9 +1226,9 @@ msgid "Enter quantity for build output"
msgstr "输入生产产出数量"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
-#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
-#: stock/serializers.py:290
+#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1094
+#: part/serializers.py:1415 stock/models.py:592 stock/models.py:1370
+#: stock/serializers.py:295
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1238,7 +1241,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa
msgstr "需要整数型数值,因为BOM包含可追踪的部件"
#: build/serializers.py:236 order/serializers.py:512 order/serializers.py:1234
-#: stock/serializers.py:299 templates/js/translated/purchase_order.js:1082
+#: stock/serializers.py:304 templates/js/translated/purchase_order.js:1082
#: templates/js/translated/stock.js:304 templates/js/translated/stock.js:502
msgid "Serial Numbers"
msgstr "序列号"
@@ -1255,7 +1258,7 @@ msgstr "自动分配序列号"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "自动为所需项分配对应的序列号"
-#: build/serializers.py:286 stock/api.py:630
+#: build/serializers.py:286 stock/api.py:638
msgid "The following serial numbers already exist or are invalid"
msgstr "以下序列号已存在或无效"
@@ -1264,21 +1267,21 @@ msgid "A list of build outputs must be provided"
msgstr "必须提供生产产出列表"
#: build/serializers.py:374 order/serializers.py:485 order/serializers.py:606
-#: order/serializers.py:1583 part/serializers.py:855 stock/serializers.py:310
-#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
-#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
+#: order/serializers.py:1583 part/serializers.py:861 stock/serializers.py:315
+#: stock/serializers.py:450 stock/serializers.py:531 stock/serializers.py:911
+#: stock/serializers.py:1153 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
-#: templates/js/translated/sales_order.js:1428
-#: templates/js/translated/sales_order.js:1539
-#: templates/js/translated/sales_order.js:1547
-#: templates/js/translated/sales_order.js:1626
+#: templates/js/translated/sales_order.js:1427
+#: templates/js/translated/sales_order.js:1538
+#: templates/js/translated/sales_order.js:1546
+#: templates/js/translated/sales_order.js:1625
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "地点"
@@ -1290,13 +1293,13 @@ msgstr "已完成生产产出的仓储地点"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "状态"
@@ -1376,8 +1379,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
-#: part/models.py:3873
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3493
+#: part/models.py:3876
msgid "BOM Item"
msgstr "BOM项"
@@ -1393,7 +1396,7 @@ msgstr "生产产出必须指向相同的生产"
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part 必须与生产订单指向相同的部件"
-#: build/serializers.py:683 stock/serializers.py:754
+#: build/serializers.py:683 stock/serializers.py:763
msgid "Item must be in stock"
msgstr "项目必须在库存中"
@@ -1583,13 +1586,13 @@ msgstr "库存尚未被完全分配到此构建订单"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
#: templates/js/translated/return_order.js:715
#: templates/js/translated/sales_order.js:783
-#: templates/js/translated/sales_order.js:1781
+#: templates/js/translated/sales_order.js:1780
msgid "Target Date"
msgstr "预计日期"
@@ -1618,7 +1621,7 @@ msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1442 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -1628,7 +1631,7 @@ msgstr "已完成"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "销售订单"
@@ -1639,19 +1642,19 @@ msgid "Issued By"
msgstr "发布者"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "优先级"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "删除生产订单"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
msgid "Build Order QR Code"
msgstr ""
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
msgid "Link Barcode to Build Order"
msgstr ""
@@ -1682,11 +1685,11 @@ msgstr "已分配的部件"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1696,7 +1699,7 @@ msgstr "批量"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "已创建"
@@ -1716,7 +1719,7 @@ msgstr "子生产订单"
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "未分配库存"
@@ -1810,7 +1813,7 @@ msgstr "已完成构建输出"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1824,11 +1827,11 @@ msgstr "附件"
msgid "Build Notes"
msgstr "生产备注"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "分配完成"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "所有未跟踪的库存项目都已分配"
@@ -1981,7 +1984,7 @@ msgstr "限制显示 `关于` 信息"
msgid "Show the `about` modal only to superusers"
msgstr "只向超级用户显示 `about` 信息"
-#: common/models.py:952 company/models.py:98 company/models.py:99
+#: common/models.py:952 company/models.py:99 company/models.py:100
msgid "Company name"
msgstr "公司名称"
@@ -2187,7 +2190,7 @@ msgstr "复制类别参数模板"
msgid "Copy category parameter templates when creating a part"
msgstr "创建零件时复制类别参数模板"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3377
+#: common/models.py:1157 part/admin.py:55 part/models.py:3380
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2200,7 @@ msgstr "模板"
msgid "Parts are templates by default"
msgstr "零件默认为模板"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:989
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2211,7 @@ msgstr "组装"
msgid "Parts can be assembled from other components by default"
msgstr "默认情况下可以从其他组件组装部件"
-#: common/models.py:1171 part/admin.py:52 part/models.py:992
+#: common/models.py:1171 part/admin.py:52 part/models.py:995
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "组件"
@@ -2217,7 +2220,7 @@ msgstr "组件"
msgid "Parts can be used as sub-components by default"
msgstr "默认情况下可以从其他组件组装部件"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1003
+#: common/models.py:1178 part/admin.py:53 part/models.py:1006
msgid "Purchaseable"
msgstr "可购买"
@@ -2225,7 +2228,7 @@ msgstr "可购买"
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1008
+#: common/models.py:1185 part/admin.py:54 part/models.py:1011
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "可销售"
@@ -2234,7 +2237,7 @@ msgstr "可销售"
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:1192 part/admin.py:56 part/models.py:998
+#: common/models.py:1192 part/admin.py:56 part/models.py:1001
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2248,7 @@ msgstr "可追踪"
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1018
+#: common/models.py:1199 part/admin.py:57 part/models.py:1021
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,7 +3183,7 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: common/models.py:2153 company/serializers.py:435 order/admin.py:43
#: order/models.py:1123 order/models.py:1914
#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
#: templates/js/translated/pricing.js:603
@@ -3204,7 +3207,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1013
+#: common/models.py:2329 part/admin.py:50 part/models.py:1016
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3288,8 +3291,8 @@ msgstr "标题"
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr "作者"
@@ -3306,7 +3309,13 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: common/models.py:2705 company/models.py:141 part/models.py:910
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "图片"
@@ -3340,7 +3349,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3377,112 +3386,112 @@ msgstr "已导入商品"
msgid "Previous Step"
msgstr ""
-#: company/models.py:103
+#: company/models.py:104
msgid "Company description"
msgstr "公司简介"
-#: company/models.py:104
+#: company/models.py:105
msgid "Description of the company"
msgstr "公司简介"
-#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: company/models.py:111 company/templates/company/company_base.html:101
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "网站"
-#: company/models.py:111
+#: company/models.py:112
msgid "Company website URL"
msgstr "公司网站"
-#: company/models.py:115 company/templates/company/company_base.html:119
+#: company/models.py:116 company/templates/company/company_base.html:119
msgid "Address"
msgstr "地址"
-#: company/models.py:116
+#: company/models.py:117
msgid "Company address"
msgstr "公司地址"
-#: company/models.py:119
+#: company/models.py:120
msgid "Phone number"
msgstr "电话号码"
-#: company/models.py:120
+#: company/models.py:121
msgid "Contact phone number"
msgstr "联系电话"
-#: company/models.py:123 company/templates/company/company_base.html:133
+#: company/models.py:124 company/templates/company/company_base.html:133
#: templates/InvenTree/settings/user.html:48
#: templates/js/translated/company.js:644
msgid "Email"
msgstr "电子邮件"
-#: company/models.py:123
+#: company/models.py:124
msgid "Contact email address"
msgstr "联系人电子邮件"
-#: company/models.py:126 company/templates/company/company_base.html:140
+#: company/models.py:127 company/templates/company/company_base.html:140
#: order/models.py:262 order/templates/order/order_base.html:207
#: order/templates/order/return_order_base.html:175
#: order/templates/order/sales_order_base.html:215
msgid "Contact"
msgstr "联系人"
-#: company/models.py:127
+#: company/models.py:128
msgid "Point of contact"
msgstr ""
-#: company/models.py:129
+#: company/models.py:130
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:143
+#: company/models.py:144
msgid "is customer"
msgstr "是客户"
-#: company/models.py:143
+#: company/models.py:144
msgid "Do you sell items to this company?"
msgstr "您是否向该公司出售商品?"
-#: company/models.py:145
+#: company/models.py:146
msgid "is supplier"
msgstr "是供应商"
-#: company/models.py:145
+#: company/models.py:146
msgid "Do you purchase items from this company?"
msgstr "您是否从该公司采购商品?"
-#: company/models.py:147
+#: company/models.py:148
msgid "is manufacturer"
msgstr "是制造商"
-#: company/models.py:147
+#: company/models.py:148
msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
-#: company/models.py:154
+#: company/models.py:155
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:220 company/templates/company/company_base.html:8
+#: company/models.py:221 company/templates/company/company_base.html:8
#: company/templates/company/company_base.html:12
#: templates/InvenTree/search.html:179 templates/js/translated/company.js:473
msgid "Company"
msgstr "公司"
-#: company/models.py:275 company/models.py:510 stock/models.py:669
-#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
+#: company/models.py:276 company/models.py:514 stock/models.py:674
+#: stock/serializers.py:146 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
msgstr ""
-#: company/models.py:279 company/models.py:514
+#: company/models.py:280 company/models.py:518
msgid "Select part"
msgstr "选择商品"
-#: company/models.py:290 company/templates/company/company_base.html:77
+#: company/models.py:291 company/templates/company/company_base.html:77
#: company/templates/company/manufacturer_part.html:90
-#: company/templates/company/supplier_part.html:146 part/serializers.py:359
+#: company/templates/company/supplier_part.html:146 part/serializers.py:361
#: stock/templates/stock/item_base.html:208
#: templates/js/translated/company.js:484
#: templates/js/translated/company.js:809
@@ -3492,12 +3501,12 @@ msgstr "选择商品"
msgid "Manufacturer"
msgstr "制造商"
-#: company/models.py:291
+#: company/models.py:292
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:297 company/templates/company/manufacturer_part.html:101
-#: company/templates/company/supplier_part.html:154 part/serializers.py:365
+#: company/models.py:298 company/templates/company/manufacturer_part.html:101
+#: company/templates/company/supplier_part.html:154 part/serializers.py:367
#: templates/js/translated/company.js:325
#: templates/js/translated/company.js:808
#: templates/js/translated/company.js:955
@@ -3507,60 +3516,60 @@ msgstr "选择制造商"
msgid "MPN"
msgstr ""
-#: company/models.py:298
+#: company/models.py:299
msgid "Manufacturer Part Number"
msgstr "制造商商品编号"
-#: company/models.py:304
+#: company/models.py:305
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:310
+#: company/models.py:311
msgid "Manufacturer part description"
msgstr "制造商商品描述"
-#: company/models.py:355 company/models.py:379 company/models.py:533
+#: company/models.py:358 company/models.py:382 company/models.py:537
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:218
msgid "Manufacturer Part"
msgstr "制造商商品"
-#: company/models.py:386
+#: company/models.py:389
msgid "Parameter name"
msgstr "参数名称"
-#: company/models.py:392
+#: company/models.py:395
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2222 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
msgstr "数值"
-#: company/models.py:393
+#: company/models.py:396
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:399 part/admin.py:40 part/models.py:980
-#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: company/models.py:402 part/admin.py:40 part/models.py:983
+#: part/models.py:3340 part/templates/part/part_base.html:286
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "单位"
-#: company/models.py:400
+#: company/models.py:403
msgid "Parameter units"
msgstr "参数单位"
-#: company/models.py:478
+#: company/models.py:482
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:520 company/templates/company/company_base.html:82
+#: company/models.py:524 company/templates/company/company_base.html:82
#: company/templates/company/supplier_part.html:130 order/models.py:378
#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313
-#: part/serializers.py:348 stock/templates/stock/item_base.html:225
+#: part/serializers.py:350 stock/templates/stock/item_base.html:225
#: templates/email/overdue_purchase_order.html:16
#: templates/js/translated/company.js:324
#: templates/js/translated/company.js:488
@@ -3571,12 +3580,12 @@ msgstr ""
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:521
+#: company/models.py:525
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:526 company/templates/company/supplier_part.html:140
-#: part/bom.py:286 part/bom.py:314 part/serializers.py:354
+#: company/models.py:530 company/templates/company/supplier_part.html:140
+#: part/bom.py:286 part/bom.py:314 part/serializers.py:356
#: templates/js/translated/company.js:323 templates/js/translated/part.js:1444
#: templates/js/translated/pricing.js:492
#: templates/js/translated/purchase_order.js:1772
@@ -3584,53 +3593,53 @@ msgstr "选择供应商"
msgid "SKU"
msgstr ""
-#: company/models.py:527 part/serializers.py:354
+#: company/models.py:531 part/serializers.py:356
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:534
+#: company/models.py:538
msgid "Select manufacturer part"
msgstr "选择制造商商品"
-#: company/models.py:540
+#: company/models.py:544
msgid "URL for external supplier part link"
msgstr "外部供货商商品链接URL"
-#: company/models.py:546
+#: company/models.py:550
msgid "Supplier part description"
msgstr "供应商商品描述"
-#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
+#: company/models.py:555 company/templates/company/supplier_part.html:175
+#: part/admin.py:279 part/models.py:3608 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
#: report/templates/report/inventree_so_report_base.html:32
-#: stock/serializers.py:393
+#: stock/serializers.py:398
msgid "Note"
msgstr "备注"
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1910
+#: company/models.py:559 part/models.py:1913
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
-#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:695
+#: company/models.py:561 company/templates/company/supplier_part.html:161
+#: stock/admin.py:119 stock/models.py:700
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "打包"
-#: company/models.py:557
+#: company/models.py:561
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:560 company/serializers.py:319
+#: company/models.py:564 company/serializers.py:330
#: company/templates/company/supplier_part.html:168
#: templates/js/translated/company.js:1246 templates/js/translated/part.js:1479
#: templates/js/translated/part.js:1535
@@ -3642,23 +3651,23 @@ msgstr "商品打包"
msgid "Pack Quantity"
msgstr "包装数量"
-#: company/models.py:561
+#: company/models.py:565
msgid "Unit quantity supplied in a single pack"
msgstr "单个包装提供的的单位数量"
-#: company/models.py:567 part/models.py:1912
+#: company/models.py:571 part/models.py:1915
msgid "multiple"
msgstr ""
-#: company/models.py:567
+#: company/models.py:571
msgid "Order multiple"
msgstr "订购多个"
-#: company/models.py:575 company/templates/company/supplier_part.html:115
+#: company/models.py:579 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3666,19 +3675,19 @@ msgstr "订购多个"
msgid "Available"
msgstr "空闲"
-#: company/models.py:576
+#: company/models.py:580
msgid "Quantity available from supplier"
msgstr "供应商的存货数量"
-#: company/models.py:580
+#: company/models.py:584
msgid "Availability Updated"
msgstr ""
-#: company/models.py:581
+#: company/models.py:585
msgid "Date of last update of availability data"
msgstr ""
-#: company/serializers.py:96
+#: company/serializers.py:99
msgid "Default currency used for this supplier"
msgstr "该公司使用的默认货币"
@@ -3709,6 +3718,18 @@ msgstr "删除公司"
msgid "Delete Company"
msgstr "删除该公司"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+msgid "Part image"
+msgstr ""
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3726,14 +3747,14 @@ msgstr "删除图片"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:714
-#: stock/models.py:715 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:719
+#: stock/models.py:720 stock/serializers.py:805
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "客户"
@@ -3747,7 +3768,7 @@ msgid "Phone"
msgstr "电话"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr "移除图像"
@@ -3756,14 +3777,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr "移除"
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "上传图片"
@@ -3828,7 +3849,7 @@ msgstr "供货商库存"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3851,7 +3872,7 @@ msgstr "新建采购订单"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3869,7 +3890,7 @@ msgid "New Sales Order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3885,12 +3906,12 @@ msgid "Return Orders"
msgstr ""
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
msgid "Create new return order"
msgstr ""
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
msgid "New Return Order"
msgstr ""
@@ -3956,9 +3977,9 @@ msgstr "删除供应商商品"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
-#: templates/js/translated/stock.js:189 users/models.py:245
+#: templates/js/translated/stock.js:189 users/models.py:247
msgid "Delete"
msgstr "删除"
@@ -3980,8 +4001,8 @@ msgstr "新建参数"
msgid "Delete parameters"
msgstr "删除参数"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "添加参数"
@@ -4006,11 +4027,11 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:678
+#: company/templates/company/supplier_part.html:24 stock/models.py:683
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "供应商商品"
@@ -4095,7 +4116,7 @@ msgstr "将条码绑定至供应商部件"
msgid "Update Part Availability"
msgstr "更新部件可用性"
-#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:288
+#: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:290
#: part/templates/part/category.html:199
#: part/templates/part/category_sidebar.html:17 stock/admin.py:47
#: stock/templates/stock/location.html:168
@@ -4103,7 +4124,7 @@ msgstr "更新部件可用性"
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "库存项"
@@ -4137,78 +4158,91 @@ msgstr "公司"
msgid "New Company"
msgstr "新建公司信息"
-#: label/models.py:104
+#: label/models.py:103
msgid "Label name"
msgstr "标签名称"
-#: label/models.py:111
+#: label/models.py:110
msgid "Label description"
msgstr "标签说明"
-#: label/models.py:118
+#: label/models.py:117
msgid "Label"
msgstr "标签"
-#: label/models.py:119
+#: label/models.py:118
msgid "Label template file"
msgstr "标签模板文件"
-#: label/models.py:125 report/models.py:272
+#: label/models.py:124 report/models.py:272
msgid "Enabled"
msgstr "已启用"
-#: label/models.py:126
+#: label/models.py:125
msgid "Label template is enabled"
msgstr "标签模板已启用"
-#: label/models.py:131
+#: label/models.py:130
msgid "Width [mm]"
msgstr "宽度 [mm]"
-#: label/models.py:132
+#: label/models.py:131
msgid "Label width, specified in mm"
msgstr "标注宽度,以毫米为单位。"
-#: label/models.py:138
+#: label/models.py:137
msgid "Height [mm]"
msgstr "高度 [mm]"
-#: label/models.py:139
+#: label/models.py:138
msgid "Label height, specified in mm"
msgstr "标注高度,以毫米为单位。"
-#: label/models.py:145 report/models.py:265
+#: label/models.py:144 report/models.py:265
msgid "Filename Pattern"
msgstr "文件名样式"
-#: label/models.py:146
+#: label/models.py:145
msgid "Pattern for generating label filenames"
msgstr ""
-#: label/models.py:242
+#: label/models.py:241
msgid "Query filters (comma-separated list of key=value pairs),"
msgstr "查询筛选器 (逗号分隔的键值对列表)"
-#: label/models.py:243 label/models.py:284 label/models.py:312
+#: label/models.py:242 label/models.py:283 label/models.py:311
#: report/models.py:293 report/models.py:451 report/models.py:489
#: report/models.py:527
msgid "Filters"
msgstr "筛选器"
-#: label/models.py:283
+#: label/models.py:282
msgid "Query filters (comma-separated list of key=value pairs"
msgstr "查询筛选器 (逗号分隔的键值对列表"
-#: label/models.py:311
+#: label/models.py:310
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+msgid "QC Code"
+msgstr ""
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
#: templates/js/translated/order.js:302
#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
+#: templates/js/translated/sales_order.js:1760
msgid "Total Price"
msgstr ""
@@ -4216,7 +4250,7 @@ msgstr ""
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1443 order/models.py:1169 order/models.py:1253
+#: order/api.py:1440 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4226,11 +4260,11 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1447
+#: order/api.py:1444
msgid "Unknown"
msgstr "未知"
@@ -4399,7 +4433,7 @@ msgstr ""
#: order/models.py:1168 order/models.py:1253 order/models.py:1294
#: order/models.py:1393 order/models.py:1526 order/models.py:1883
-#: order/models.py:1930 templates/js/translated/sales_order.js:1405
+#: order/models.py:1930 templates/js/translated/sales_order.js:1404
msgid "Order"
msgstr ""
@@ -4421,9 +4455,9 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:814 stock/serializers.py:232
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "采购价格"
@@ -4571,7 +4605,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
msgid "Return Order"
msgstr ""
@@ -4925,7 +4959,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -4984,11 +5018,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -4997,35 +5031,35 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
msgid "Delete Line Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5115,7 +5149,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr "操作"
@@ -5145,42 +5179,42 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3474 part/tasks.py:285
#: stock/admin.py:101
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3478 part/tasks.py:286
#: stock/admin.py:102
msgid "Part Name"
msgstr "部件名称"
-#: part/admin.py:35 part/tasks.py:285
+#: part/admin.py:35 part/tasks.py:287
msgid "Part Description"
msgstr "部件描述"
-#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: part/admin.py:36 part/models.py:885 part/templates/part/part_base.html:271
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:892 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr "版本号"
-#: part/admin.py:38 part/admin.py:198 part/models.py:868
+#: part/admin.py:38 part/admin.py:198 part/models.py:871
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "关键词"
-#: part/admin.py:42 part/admin.py:192 part/tasks.py:286
+#: part/admin.py:42 part/admin.py:192 part/tasks.py:288
msgid "Category ID"
msgstr "类别 ID"
-#: part/admin.py:43 part/admin.py:193 part/tasks.py:287
+#: part/admin.py:43 part/admin.py:193 part/tasks.py:289
msgid "Category Name"
msgstr ""
@@ -5192,11 +5226,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:860 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:976 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "最低库存"
@@ -5207,7 +5241,7 @@ msgid "In Stock"
msgstr "有库存"
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5217,9 +5251,9 @@ msgstr "订购中"
msgid "Used In"
msgstr "用于"
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
-#: templates/js/translated/sales_order.js:1840
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
+#: templates/js/translated/sales_order.js:1839
msgid "Allocated"
msgstr "已分配"
@@ -5228,11 +5262,11 @@ msgstr "已分配"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2917 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2923 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5249,13 +5283,13 @@ msgstr ""
msgid "Category Path"
msgstr "类别路径"
-#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:388 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
@@ -5272,7 +5306,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3479
+#: part/admin.py:274 part/models.py:3482
msgid "Part IPN"
msgstr ""
@@ -5314,17 +5348,17 @@ msgstr ""
msgid "This option must be selected"
msgstr "必须选择此项"
-#: part/bom.py:175 part/models.py:123 part/models.py:916
+#: part/bom.py:175 part/models.py:124 part/models.py:919
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "默认仓储地点"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr "总库存"
#: part/bom.py:177 part/templates/part/part_base.html:194
-#: templates/js/translated/sales_order.js:1807
+#: templates/js/translated/sales_order.js:1806
msgid "Available Stock"
msgstr "可用库存"
@@ -5332,882 +5366,882 @@ msgstr "可用库存"
msgid "Input quantity for price calculation"
msgstr "输入数量以计算价格"
-#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
+#: part/models.py:72 part/models.py:3423 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
-#: part/models.py:72 part/templates/part/category.html:135
+#: part/models.py:73 part/templates/part/category.html:135
#: templates/InvenTree/search.html:97 templates/js/translated/search.js:188
#: users/models.py:37
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:124
+#: part/models.py:125
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:130 stock/models.py:124 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:131
+#: part/models.py:132
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords"
msgstr ""
-#: part/models.py:135
+#: part/models.py:136
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:140 stock/models.py:110
+#: part/models.py:141 stock/models.py:113
msgid "Icon"
msgstr "图标"
-#: part/models.py:141 stock/models.py:111
+#: part/models.py:142 stock/models.py:114
msgid "Icon (optional)"
msgstr "图标(可选)"
-#: part/models.py:160
+#: part/models.py:161
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:468
+#: part/models.py:471
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:510 part/models.py:522
+#: part/models.py:513 part/models.py:525
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:594
+#: part/models.py:597
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN 必须匹配正则表达式 {pat}"
-#: part/models.py:665
+#: part/models.py:668
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:796
+#: part/models.py:799
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:801
+#: part/models.py:804
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:815
+#: part/models.py:818
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:839 part/models.py:3476
+#: part/models.py:842 part/models.py:3479
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:845
+#: part/models.py:848
msgid "Is Template"
msgstr ""
-#: part/models.py:846
+#: part/models.py:849
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:856
+#: part/models.py:859
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:863
+#: part/models.py:866
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:869
+#: part/models.py:872
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:876 part/models.py:3182 part/models.py:3419
-#: part/serializers.py:849 part/templates/part/part_base.html:262
+#: part/models.py:879 part/models.py:3185 part/models.py:3422
+#: part/serializers.py:855 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "类别"
-#: part/models.py:877
+#: part/models.py:880
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:883
+#: part/models.py:886
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:888
+#: part/models.py:891
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:914
+#: part/models.py:917
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:959 part/templates/part/part_base.html:378
+#: part/models.py:962 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:960
+#: part/models.py:963
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:967
+#: part/models.py:970
msgid "Default Expiry"
msgstr ""
-#: part/models.py:968
+#: part/models.py:971
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:974
+#: part/models.py:977
msgid "Minimum allowed stock level"
msgstr "允许的最小库存量"
-#: part/models.py:981
+#: part/models.py:984
msgid "Units of measure for this part"
msgstr "该部件的计量单位"
-#: part/models.py:987
+#: part/models.py:990
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:993
+#: part/models.py:996
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:999
+#: part/models.py:1002
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1004
+#: part/models.py:1007
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1009
+#: part/models.py:1012
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:1014
+#: part/models.py:1017
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1022
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:1021
+#: part/models.py:1024
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1021
+#: part/models.py:1024
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1027
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1026
+#: part/models.py:1029
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1033
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1032
+#: part/models.py:1035
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1036 part/templates/part/part_base.html:341
+#: part/models.py:1039 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1912
+#: part/models.py:1915
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2837
+#: part/models.py:2840
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2854
+#: part/models.py:2857
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2855
+#: part/models.py:2858
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2860
+#: part/models.py:2863
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2861
+#: part/models.py:2864
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2866
+#: part/models.py:2869
msgid "Minimum Purchase Cost"
msgstr "最低购买成本"
-#: part/models.py:2867
+#: part/models.py:2870
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2872
+#: part/models.py:2875
msgid "Maximum Purchase Cost"
msgstr "最大购买成本"
-#: part/models.py:2873
+#: part/models.py:2876
msgid "Maximum historical purchase cost"
msgstr "最高历史购买成本"
-#: part/models.py:2878
+#: part/models.py:2881
msgid "Minimum Internal Price"
msgstr "最低内部价格"
-#: part/models.py:2879
+#: part/models.py:2882
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2884
+#: part/models.py:2887
msgid "Maximum Internal Price"
msgstr "最大内部价格"
-#: part/models.py:2885
+#: part/models.py:2888
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2890
+#: part/models.py:2893
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2891
+#: part/models.py:2894
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2896
+#: part/models.py:2899
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2897
+#: part/models.py:2900
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2902
+#: part/models.py:2905
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2903
+#: part/models.py:2906
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2908
+#: part/models.py:2911
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2909
+#: part/models.py:2912
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2915
+#: part/models.py:2918
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2921
+#: part/models.py:2924
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2926
+#: part/models.py:2929
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2927
+#: part/models.py:2930
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2932
+#: part/models.py:2935
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2938
+#: part/models.py:2941
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2939
+#: part/models.py:2942
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2944
+#: part/models.py:2947
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2945
+#: part/models.py:2948
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2964
+#: part/models.py:2967
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2969
+#: part/models.py:2972
msgid "Item Count"
msgstr ""
-#: part/models.py:2970
+#: part/models.py:2973
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2977
+#: part/models.py:2980
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2981 part/models.py:3064
+#: part/models.py:2984 part/models.py:3067
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr "日期"
-#: part/models.py:2982
+#: part/models.py:2985
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2990
+#: part/models.py:2993
msgid "Additional notes"
msgstr "附加注释"
-#: part/models.py:2998
+#: part/models.py:3001
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3003
+#: part/models.py:3006
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3004
+#: part/models.py:3007
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3009
+#: part/models.py:3012
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3010
+#: part/models.py:3013
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3074 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr "报告"
-#: part/models.py:3072
+#: part/models.py:3075
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3080 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
-#: part/models.py:3078
+#: part/models.py:3081
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3086
+#: part/models.py:3089
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3222
+#: part/models.py:3225
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3239
+#: part/models.py:3242
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3262 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
-#: part/models.py:3260
+#: part/models.py:3263
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3265
+#: part/models.py:3268
msgid "Test Description"
msgstr ""
-#: part/models.py:3266
+#: part/models.py:3269
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3274 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3272
+#: part/models.py:3275
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3280 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
-#: part/models.py:3278
+#: part/models.py:3281
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3286 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3284
+#: part/models.py:3287
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3325
+#: part/models.py:3328
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3333
+#: part/models.py:3336
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3342
+#: part/models.py:3345
msgid "Parameter description"
msgstr ""
-#: part/models.py:3375
+#: part/models.py:3378
msgid "Parent Part"
msgstr ""
-#: part/models.py:3377 part/models.py:3425 part/models.py:3426
+#: part/models.py:3380 part/models.py:3428 part/models.py:3429
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Data"
msgstr ""
-#: part/models.py:3379
+#: part/models.py:3382
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3433 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3468
+#: part/models.py:3471
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3480
+#: part/models.py:3483
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3483
+#: part/models.py:3486
msgid "Level"
msgstr ""
-#: part/models.py:3484
+#: part/models.py:3487
msgid "BOM level"
msgstr ""
-#: part/models.py:3568
+#: part/models.py:3571
msgid "Select parent part"
msgstr ""
-#: part/models.py:3576
+#: part/models.py:3579
msgid "Sub part"
msgstr "子部件"
-#: part/models.py:3577
+#: part/models.py:3580
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3583
+#: part/models.py:3586
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3587 part/templates/part/upload_bom.html:58
+#: part/models.py:3590 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3588
+#: part/models.py:3591
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: part/models.py:3596 templates/js/translated/bom.js:937
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3594
+#: part/models.py:3597
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3598 part/templates/part/upload_bom.html:55
+#: part/models.py:3601 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3599
+#: part/models.py:3602
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3602
+#: part/models.py:3605
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3605
+#: part/models.py:3608
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "Checksum"
msgstr ""
-#: part/models.py:3609
+#: part/models.py:3612
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3614 templates/js/translated/table_filters.js:140
+#: part/models.py:3617 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3615
+#: part/models.py:3618
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3620 part/templates/part/upload_bom.html:57
+#: part/models.py:3623 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3621
+#: part/models.py:3624
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3626 part/templates/part/upload_bom.html:56
+#: part/models.py:3629 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3627
+#: part/models.py:3630
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3713 stock/models.py:571
+#: part/models.py:3716 stock/models.py:576
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3722 part/models.py:3724
+#: part/models.py:3725 part/models.py:3727
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3840
+#: part/models.py:3843
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3861
+#: part/models.py:3864
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3874
+#: part/models.py:3877
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3882
+#: part/models.py:3885
msgid "Substitute part"
msgstr ""
-#: part/models.py:3897
+#: part/models.py:3900
msgid "Part 1"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Part 2"
msgstr ""
-#: part/models.py:3901
+#: part/models.py:3904
msgid "Select Related Part"
msgstr "选择相关的部件"
-#: part/models.py:3919
+#: part/models.py:3922
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3923
+#: part/models.py:3926
msgid "Duplicate relationship already exists"
msgstr ""
-#: part/serializers.py:160 part/serializers.py:183 stock/serializers.py:234
+#: part/serializers.py:162 part/serializers.py:185 stock/serializers.py:237
msgid "Purchase currency of this stock item"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Original Part"
msgstr ""
-#: part/serializers.py:307
+#: part/serializers.py:309
msgid "Select original part to duplicate"
msgstr ""
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy Image"
msgstr "复制图像"
-#: part/serializers.py:312
+#: part/serializers.py:314
msgid "Copy image from original part"
msgstr "从原部件复制图像"
-#: part/serializers.py:317 part/templates/part/detail.html:296
+#: part/serializers.py:319 part/templates/part/detail.html:296
msgid "Copy BOM"
msgstr ""
-#: part/serializers.py:317
+#: part/serializers.py:319
msgid "Copy bill of materials from original part"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy Parameters"
msgstr ""
-#: part/serializers.py:322
+#: part/serializers.py:324
msgid "Copy parameter data from original part"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Initial Stock Quantity"
msgstr ""
-#: part/serializers.py:332
+#: part/serializers.py:334
msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added."
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Initial Stock Location"
msgstr ""
-#: part/serializers.py:338
+#: part/serializers.py:340
msgid "Specify initial stock location for this Part"
msgstr ""
-#: part/serializers.py:348
+#: part/serializers.py:350
msgid "Select supplier (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:359
+#: part/serializers.py:361
msgid "Select manufacturer (or leave blank to skip)"
msgstr ""
-#: part/serializers.py:365
+#: part/serializers.py:367
msgid "Manufacturer part number"
msgstr ""
-#: part/serializers.py:372
+#: part/serializers.py:374
msgid "Selected company is not a valid supplier"
msgstr ""
-#: part/serializers.py:380
+#: part/serializers.py:382
msgid "Selected company is not a valid manufacturer"
msgstr ""
-#: part/serializers.py:392
+#: part/serializers.py:394
msgid "Manufacturer part matching this MPN already exists"
msgstr ""
-#: part/serializers.py:400
+#: part/serializers.py:402
msgid "Supplier part matching this SKU already exists"
msgstr ""
-#: part/serializers.py:621 part/templates/part/copy_part.html:9
+#: part/serializers.py:627 part/templates/part/copy_part.html:9
#: templates/js/translated/part.js:415
msgid "Duplicate Part"
msgstr "复制部件"
-#: part/serializers.py:621
+#: part/serializers.py:627
msgid "Copy initial data from another Part"
msgstr ""
-#: part/serializers.py:626 templates/js/translated/part.js:69
+#: part/serializers.py:632 templates/js/translated/part.js:69
msgid "Initial Stock"
msgstr ""
-#: part/serializers.py:626
+#: part/serializers.py:632
msgid "Create Part with initial stock quantity"
msgstr ""
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Supplier Information"
msgstr "供应商信息"
-#: part/serializers.py:631
+#: part/serializers.py:637
msgid "Add initial supplier information for this part"
msgstr ""
-#: part/serializers.py:637
+#: part/serializers.py:643
msgid "Copy Category Parameters"
msgstr "复制类别参数"
-#: part/serializers.py:638
+#: part/serializers.py:644
msgid "Copy parameter templates from selected part category"
msgstr ""
-#: part/serializers.py:843
+#: part/serializers.py:849
msgid "Limit stocktake report to a particular part, and any variant parts"
msgstr ""
-#: part/serializers.py:849
+#: part/serializers.py:855
msgid "Limit stocktake report to a particular part category, and any child categories"
msgstr ""
-#: part/serializers.py:855
+#: part/serializers.py:861
msgid "Limit stocktake report to a particular stock location, and any child locations"
msgstr ""
-#: part/serializers.py:860
+#: part/serializers.py:866
msgid "Generate Report"
msgstr ""
-#: part/serializers.py:861
+#: part/serializers.py:867
msgid "Generate report file containing calculated stocktake data"
msgstr ""
-#: part/serializers.py:866
+#: part/serializers.py:872
msgid "Update Parts"
msgstr ""
-#: part/serializers.py:867
+#: part/serializers.py:873
msgid "Update specified parts with calculated stocktake data"
msgstr ""
-#: part/serializers.py:875
+#: part/serializers.py:881
msgid "Stocktake functionality is not enabled"
msgstr ""
-#: part/serializers.py:964
+#: part/serializers.py:970
msgid "Update"
msgstr "更新"
-#: part/serializers.py:965
+#: part/serializers.py:971
msgid "Update pricing for this part"
msgstr ""
-#: part/serializers.py:1247
+#: part/serializers.py:1253
msgid "Select part to copy BOM from"
msgstr ""
-#: part/serializers.py:1255
+#: part/serializers.py:1261
msgid "Remove Existing Data"
msgstr "移除现有数据"
-#: part/serializers.py:1256
+#: part/serializers.py:1262
msgid "Remove existing BOM items before copying"
msgstr ""
-#: part/serializers.py:1261
+#: part/serializers.py:1267
msgid "Include Inherited"
msgstr ""
-#: part/serializers.py:1262
+#: part/serializers.py:1268
msgid "Include BOM items which are inherited from templated parts"
msgstr ""
-#: part/serializers.py:1267
+#: part/serializers.py:1273
msgid "Skip Invalid Rows"
msgstr ""
-#: part/serializers.py:1268
+#: part/serializers.py:1274
msgid "Enable this option to skip invalid rows"
msgstr ""
-#: part/serializers.py:1273
+#: part/serializers.py:1279
msgid "Copy Substitute Parts"
msgstr ""
-#: part/serializers.py:1274
+#: part/serializers.py:1280
msgid "Copy substitute parts when duplicate BOM items"
msgstr ""
-#: part/serializers.py:1314
+#: part/serializers.py:1320
msgid "Clear Existing BOM"
msgstr ""
-#: part/serializers.py:1315
+#: part/serializers.py:1321
msgid "Delete existing BOM items before uploading"
msgstr ""
-#: part/serializers.py:1345
+#: part/serializers.py:1351
msgid "No part column specified"
msgstr ""
-#: part/serializers.py:1388
+#: part/serializers.py:1394
msgid "Multiple matching parts found"
msgstr ""
-#: part/serializers.py:1391
+#: part/serializers.py:1397
msgid "No matching part found"
msgstr ""
-#: part/serializers.py:1394
+#: part/serializers.py:1400
msgid "Part is not designated as a component"
msgstr ""
-#: part/serializers.py:1403
+#: part/serializers.py:1409
msgid "Quantity not provided"
msgstr "未提供数量"
-#: part/serializers.py:1411
+#: part/serializers.py:1417
msgid "Invalid quantity"
msgstr ""
-#: part/serializers.py:1432
+#: part/serializers.py:1438
msgid "At least one BOM item is required"
msgstr ""
@@ -6220,25 +6254,25 @@ msgstr ""
msgid "The available stock for {part.name} has fallen below the configured minimum level"
msgstr ""
-#: part/tasks.py:289 templates/js/translated/part.js:1006
+#: part/tasks.py:291 templates/js/translated/part.js:1006
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1535
#: templates/js/translated/purchase_order.js:2011
msgid "Total Quantity"
msgstr "总数量"
-#: part/tasks.py:290
+#: part/tasks.py:292
msgid "Total Cost Min"
msgstr ""
-#: part/tasks.py:291
+#: part/tasks.py:293
msgid "Total Cost Max"
msgstr ""
-#: part/tasks.py:355
+#: part/tasks.py:357
msgid "Stocktake Report Available"
msgstr ""
-#: part/tasks.py:356
+#: part/tasks.py:358
msgid "A new stocktake report is available for download"
msgstr ""
@@ -6390,7 +6424,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6496,7 +6530,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6661,7 +6695,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6684,11 +6718,15 @@ msgstr "商品二维码"
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+msgid "part"
+msgstr ""
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6717,7 +6755,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6755,8 +6793,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "库存"
@@ -6789,7 +6827,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr "最后更新"
@@ -6813,7 +6851,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6821,7 +6859,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6834,9 +6872,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr "跳转到总览"
@@ -6844,11 +6882,11 @@ msgstr "跳转到总览"
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7036,7 +7074,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7064,7 +7102,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7278,7 +7316,7 @@ msgstr ""
#: templates/js/translated/pricing.js:578
#: templates/js/translated/pricing.js:802
#: templates/js/translated/purchase_order.js:2042
-#: templates/js/translated/sales_order.js:1751
+#: templates/js/translated/sales_order.js:1750
msgid "Unit Price"
msgstr "单价"
@@ -7291,21 +7329,21 @@ msgstr ""
#: report/templates/report/inventree_po_report_base.html:72
#: report/templates/report/inventree_so_report_base.html:72
#: templates/js/translated/purchase_order.js:1944
-#: templates/js/translated/sales_order.js:1726
+#: templates/js/translated/sales_order.js:1725
msgid "Total"
msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:719 stock/templates/stock/item_base.html:312
+#: stock/models.py:724 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
#: templates/js/translated/sales_order.js:264
-#: templates/js/translated/sales_order.js:1531
-#: templates/js/translated/sales_order.js:1616
+#: templates/js/translated/sales_order.js:1530
+#: templates/js/translated/sales_order.js:1615
#: templates/js/translated/stock.js:533
msgid "Serial Number"
msgstr "序列号"
@@ -7319,12 +7357,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2210 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2216
msgid "Result"
msgstr ""
@@ -7351,7 +7389,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7392,7 +7430,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:702
+#: stock/admin.py:114 stock/models.py:707
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7417,398 +7455,398 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:775
+#: stock/admin.py:131 stock/models.py:780
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
-#: stock/api.py:409 templates/js/translated/table_filters.js:369
+#: stock/api.py:417 templates/js/translated/table_filters.js:369
msgid "External Location"
msgstr ""
-#: stock/api.py:570
+#: stock/api.py:578
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:585
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:602
+#: stock/api.py:610
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:686
+#: stock/models.py:54 stock/models.py:691
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
msgstr "仓储地点"
-#: stock/models.py:54 stock/templates/stock/location.html:177
+#: stock/models.py:55 stock/templates/stock/location.html:177
#: templates/InvenTree/search.html:167 templates/js/translated/search.js:208
#: users/models.py:40
msgid "Stock Locations"
msgstr "仓储地点"
-#: stock/models.py:115 stock/models.py:814
+#: stock/models.py:118 stock/models.py:819
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:116 stock/models.py:815
+#: stock/models.py:119 stock/models.py:820
msgid "Select Owner"
msgstr ""
-#: stock/models.py:123
+#: stock/models.py:126
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:132 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:130
+#: stock/models.py:133
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:172
+#: stock/models.py:175
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:551
+#: stock/models.py:556
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:577 stock/serializers.py:151
+#: stock/models.py:582 stock/serializers.py:154
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:594
+#: stock/models.py:599
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:604 stock/models.py:613
+#: stock/models.py:609 stock/models.py:618
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:605
+#: stock/models.py:610
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:627
+#: stock/models.py:632
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:633
+#: stock/models.py:638
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:647
+#: stock/models.py:652
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:661
+#: stock/models.py:666
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:671
+#: stock/models.py:676
msgid "Base part"
msgstr ""
-#: stock/models.py:679
+#: stock/models.py:684
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:689
+#: stock/models.py:694
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:696
+#: stock/models.py:701
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:705
+#: stock/models.py:710
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:721
+#: stock/models.py:726
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:735
+#: stock/models.py:740
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:740
+#: stock/models.py:745
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:752
msgid "Source Build"
msgstr ""
-#: stock/models.py:749
+#: stock/models.py:754
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:760
+#: stock/models.py:765
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:763
+#: stock/models.py:768
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:769
+#: stock/models.py:774
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:776
+#: stock/models.py:781
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:791
+#: stock/models.py:796
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:810
+#: stock/models.py:815
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:838
+#: stock/models.py:843
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1361
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1367
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1373
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1376
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1379
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1386 stock/serializers.py:354
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/models.py:1456
+#: stock/models.py:1457
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1460
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1463
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1466
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1469
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1472
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1479 stock/serializers.py:955
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1483
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1487
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1491
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1660
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2128
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2186
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2192
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2211
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2217
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2223
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2230
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2236
msgid "Test notes"
msgstr ""
-#: stock/serializers.py:75
+#: stock/serializers.py:76
msgid "Serial number is too large"
msgstr ""
-#: stock/serializers.py:231
+#: stock/serializers.py:234
msgid "Purchase price of this stock item"
msgstr ""
-#: stock/serializers.py:282
+#: stock/serializers.py:287
msgid "Enter number of stock items to serialize"
msgstr ""
-#: stock/serializers.py:294
+#: stock/serializers.py:299
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({q})"
msgstr ""
-#: stock/serializers.py:300
+#: stock/serializers.py:305
msgid "Enter serial numbers for new items"
msgstr "输入新项目的序列号"
-#: stock/serializers.py:311 stock/serializers.py:903 stock/serializers.py:1145
+#: stock/serializers.py:316 stock/serializers.py:912 stock/serializers.py:1154
msgid "Destination stock location"
msgstr "目标库存位置"
-#: stock/serializers.py:318
+#: stock/serializers.py:323
msgid "Optional note field"
msgstr ""
-#: stock/serializers.py:328
+#: stock/serializers.py:333
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:389
+#: stock/serializers.py:394
msgid "Select stock item to install"
msgstr ""
-#: stock/serializers.py:402
+#: stock/serializers.py:407
msgid "Stock item is unavailable"
msgstr ""
-#: stock/serializers.py:409
+#: stock/serializers.py:414
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:446
+#: stock/serializers.py:451
msgid "Destination location for uninstalled item"
msgstr ""
-#: stock/serializers.py:451 stock/serializers.py:532
+#: stock/serializers.py:456 stock/serializers.py:537
msgid "Add transaction note (optional)"
msgstr "添加交易备注 (可选)"
-#: stock/serializers.py:485
+#: stock/serializers.py:490
msgid "Select part to convert stock item into"
msgstr ""
-#: stock/serializers.py:496
+#: stock/serializers.py:501
msgid "Selected part is not a valid option for conversion"
msgstr ""
-#: stock/serializers.py:527
+#: stock/serializers.py:532
msgid "Destination location for returned item"
msgstr ""
-#: stock/serializers.py:758
+#: stock/serializers.py:767
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:762
+#: stock/serializers.py:771
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:766
+#: stock/serializers.py:775
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:797
+#: stock/serializers.py:806
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:803
+#: stock/serializers.py:812
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:811
+#: stock/serializers.py:820
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:821 stock/serializers.py:1052
+#: stock/serializers.py:830 stock/serializers.py:1061
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:910
+#: stock/serializers.py:919
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:915
+#: stock/serializers.py:924
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:916
+#: stock/serializers.py:925
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:921
+#: stock/serializers.py:930
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:922
+#: stock/serializers.py:931
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:932
+#: stock/serializers.py:941
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:1014
+#: stock/serializers.py:1023
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:1042
+#: stock/serializers.py:1051
msgid "Stock transaction notes"
msgstr ""
@@ -7849,7 +7887,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8003,7 +8041,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "未设置仓储地点"
@@ -8039,35 +8077,40 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+msgid "stock item"
+msgstr ""
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "警告"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8141,15 +8184,20 @@ msgstr "新建仓储地点"
msgid "New Location"
msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+msgid "stock location"
+msgstr ""
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8211,11 +8259,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8251,43 +8299,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8297,7 +8345,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr "移除通知"
@@ -8317,19 +8365,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8358,7 +8406,7 @@ msgstr "生产订单设置"
msgid "Category Settings"
msgstr "类别设置"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8367,20 +8415,20 @@ msgstr ""
msgid "Label Settings"
msgstr "标签设置"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8435,57 +8483,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8493,69 +8541,69 @@ msgstr ""
msgid "Sample"
msgstr "样本"
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr "插件信息"
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr "安装路径"
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8588,12 +8636,12 @@ msgstr "从不"
msgid "Project Code Settings"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
msgid "Project Codes"
msgstr ""
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
msgid "New Project Code"
msgstr ""
@@ -8654,12 +8702,12 @@ msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "编辑模板"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "删除模板"
@@ -8671,33 +8719,33 @@ msgstr ""
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "创建类别参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr "ID"
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8765,7 +8813,7 @@ msgid "Change Password"
msgstr "更改密码"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "编辑"
@@ -9038,6 +9086,7 @@ msgid "Submit Bug Report"
msgstr "提交 Bug"
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr "复制到剪贴板"
@@ -9045,21 +9094,25 @@ msgstr "复制到剪贴板"
msgid "copy version information"
msgstr "显示版本信息"
+#: templates/account/base.html:66 templates/navbar.html:17
+msgid "InvenTree logo"
+msgstr ""
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr "确认邮件地址"
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "确认"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9288,7 +9341,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9296,16 +9349,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9317,27 +9370,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9349,11 +9402,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9418,7 +9471,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9455,48 +9508,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9513,8 +9566,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9628,7 +9681,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9648,26 +9701,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
-#: templates/js/translated/sales_order.js:1821
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
+#: templates/js/translated/sales_order.js:1820
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9695,11 +9748,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9829,170 +9882,178 @@ msgstr ""
msgid "Location not specified"
msgstr "未指定仓储地点"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+msgid "build output"
+msgstr ""
+
+#: templates/js/translated/build.js:894
+msgid "build outputs"
+msgstr ""
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
-#: templates/js/translated/sales_order.js:1566
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
+#: templates/js/translated/sales_order.js:1565
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
-#: templates/js/translated/sales_order.js:1567
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
+#: templates/js/translated/sales_order.js:1566
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
-#: templates/js/translated/sales_order.js:1828
+#: templates/js/translated/build.js:1918
+#: templates/js/translated/sales_order.js:1827
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
-#: templates/js/translated/sales_order.js:1826
+#: templates/js/translated/build.js:1920
+#: templates/js/translated/sales_order.js:1825
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
-#: templates/js/translated/sales_order.js:1927
+#: templates/js/translated/build.js:2016
+#: templates/js/translated/sales_order.js:1926
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
-#: templates/js/translated/sales_order.js:1921
+#: templates/js/translated/build.js:2023
+#: templates/js/translated/sales_order.js:1920
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
-#: templates/js/translated/sales_order.js:1090
+#: templates/js/translated/sales_order.js:1089
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:2060
-#: templates/js/translated/sales_order.js:1091
+#: templates/js/translated/build.js:2062
+#: templates/js/translated/sales_order.js:1090
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
-#: templates/js/translated/sales_order.js:1105
+#: templates/js/translated/build.js:2204
+#: templates/js/translated/sales_order.js:1104
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
-#: templates/js/translated/sales_order.js:1202
+#: templates/js/translated/build.js:2243
+#: templates/js/translated/sales_order.js:1201
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
-#: templates/js/translated/sales_order.js:1279
+#: templates/js/translated/build.js:2316
+#: templates/js/translated/sales_order.js:1278
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10175,12 +10236,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10212,7 +10273,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10274,11 +10335,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10291,8 +10352,8 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "已选择库存项"
+msgid "selected"
+msgstr ""
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10319,12 +10380,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "取消"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10333,47 +10394,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10659,7 +10720,7 @@ msgstr ""
#: templates/js/translated/part.js:1518
#: templates/js/translated/purchase_order.js:2080
#: templates/js/translated/return_order.js:720
-#: templates/js/translated/sales_order.js:1789
+#: templates/js/translated/sales_order.js:1788
msgid "This line item is overdue"
msgstr ""
@@ -10676,111 +10737,113 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr "找不到部件"
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+msgid "parts"
+msgstr ""
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr "以列表显示"
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr "以网格显示"
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "设置商品类别"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
-#, fuzzy
-#| msgid "Subcategories"
+#: templates/js/translated/part.js:2236
msgid "No subcategories found"
-msgstr "子类别"
+msgstr ""
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr "以树形图显示"
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "编辑测试结果"
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "删除测试结果"
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr "无指定日期"
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr "指定的日期已过"
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr "最大数量"
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -10946,7 +11009,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11025,37 +11088,37 @@ msgid "Delete selected Line items?"
msgstr ""
#: templates/js/translated/purchase_order.js:1843
-#: templates/js/translated/sales_order.js:1981
+#: templates/js/translated/sales_order.js:1980
msgid "Duplicate Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1858
#: templates/js/translated/return_order.js:444
#: templates/js/translated/return_order.js:633
-#: templates/js/translated/sales_order.js:1994
+#: templates/js/translated/sales_order.js:1993
msgid "Edit Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:1869
#: templates/js/translated/return_order.js:646
-#: templates/js/translated/sales_order.js:2005
+#: templates/js/translated/sales_order.js:2004
msgid "Delete Line Item"
msgstr ""
#: templates/js/translated/purchase_order.js:2151
-#: templates/js/translated/sales_order.js:1935
+#: templates/js/translated/sales_order.js:1934
msgid "Duplicate line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2152
#: templates/js/translated/return_order.js:765
-#: templates/js/translated/sales_order.js:1936
+#: templates/js/translated/sales_order.js:1935
msgid "Edit line item"
msgstr ""
#: templates/js/translated/purchase_order.js:2153
#: templates/js/translated/return_order.js:769
-#: templates/js/translated/sales_order.js:1942
+#: templates/js/translated/sales_order.js:1941
msgid "Delete line item"
msgstr ""
@@ -11122,7 +11185,7 @@ msgid "Receive Return Order Items"
msgstr ""
#: templates/js/translated/return_order.js:657
-#: templates/js/translated/sales_order.js:2141
+#: templates/js/translated/sales_order.js:2140
msgid "No matching line items"
msgstr ""
@@ -11227,7 +11290,7 @@ msgid "Shipment Reference"
msgstr ""
#: templates/js/translated/sales_order.js:960
-#: templates/js/translated/sales_order.js:1446
+#: templates/js/translated/sales_order.js:1445
msgid "Not shipped"
msgstr ""
@@ -11239,71 +11302,71 @@ msgstr ""
msgid "Invoice"
msgstr ""
-#: templates/js/translated/sales_order.js:1138
+#: templates/js/translated/sales_order.js:1137
msgid "Add Shipment"
msgstr ""
-#: templates/js/translated/sales_order.js:1189
+#: templates/js/translated/sales_order.js:1188
msgid "Confirm stock allocation"
msgstr "确认库存分配"
-#: templates/js/translated/sales_order.js:1190
+#: templates/js/translated/sales_order.js:1189
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/sales_order.js:1394
+#: templates/js/translated/sales_order.js:1393
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/sales_order.js:1486
+#: templates/js/translated/sales_order.js:1485
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1500
+#: templates/js/translated/sales_order.js:1499
msgid "Confirm Delete Operation"
msgstr "确认删除操作"
-#: templates/js/translated/sales_order.js:1501
+#: templates/js/translated/sales_order.js:1500
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/sales_order.js:1543
-#: templates/js/translated/sales_order.js:1630
+#: templates/js/translated/sales_order.js:1542
+#: templates/js/translated/sales_order.js:1629
#: templates/js/translated/stock.js:1671
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/sales_order.js:1551
-#: templates/js/translated/sales_order.js:1639
+#: templates/js/translated/sales_order.js:1550
+#: templates/js/translated/sales_order.js:1638
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/sales_order.js:1919
+#: templates/js/translated/sales_order.js:1918
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:1923
+#: templates/js/translated/sales_order.js:1922
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/sales_order.js:1932
-#: templates/js/translated/sales_order.js:2119
+#: templates/js/translated/sales_order.js:1931
+#: templates/js/translated/sales_order.js:2118
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/sales_order.js:1946
+#: templates/js/translated/sales_order.js:1945
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/sales_order.js:1949
+#: templates/js/translated/sales_order.js:1948
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/sales_order.js:2020
+#: templates/js/translated/sales_order.js:2019
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/sales_order.js:2127
+#: templates/js/translated/sales_order.js:2126
msgid "Update Unit Price"
msgstr ""
@@ -11503,7 +11566,7 @@ msgstr ""
msgid "Add Stock"
msgstr "添加库存"
-#: templates/js/translated/stock.js:991 users/models.py:241
+#: templates/js/translated/stock.js:991 users/models.py:243
msgid "Add"
msgstr "添加"
@@ -11583,164 +11646,172 @@ msgstr ""
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+msgid "stock items"
+msgstr ""
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
msgid "Stock Value"
msgstr ""
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+msgid "stock locations"
+msgstr ""
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
msgid "Sales Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12171,8 +12242,7 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid ""
-"You are about to use your %(provider_name)s account to login to\n"
+msgid "You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12320,34 +12390,35 @@ msgstr "权限"
msgid "Important dates"
msgstr "重要日期"
-#: users/models.py:228
+#: users/models.py:230
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:236
+#: users/models.py:238
msgid "Group"
msgstr "群组"
-#: users/models.py:239
+#: users/models.py:241
msgid "View"
msgstr "视图"
-#: users/models.py:239
+#: users/models.py:241
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:241
+#: users/models.py:243
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:243
+#: users/models.py:245
msgid "Change"
msgstr "更改"
-#: users/models.py:243
+#: users/models.py:245
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:245
+#: users/models.py:247
msgid "Permission to delete items"
msgstr "删除项目权限"
+
diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
index 5289feded5..63a8d5f474 100644
--- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-28 10:51+0000\n"
+"POT-Creation-Date: 2023-05-02 10:05+0000\n"
"PO-Revision-Date: 2023-02-28 22:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -41,7 +41,7 @@ msgstr "输入日期"
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
+#: stock/admin.py:121 stock/models.py:2122 stock/models.py:2230
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -52,7 +52,7 @@ msgstr "输入日期"
#: templates/js/translated/return_order.js:740
#: templates/js/translated/sales_order.js:985
#: templates/js/translated/sales_order.js:1893
-#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2141
+#: templates/js/translated/stock.js:1446 templates/js/translated/stock.js:2143
msgid "Notes"
msgstr "备注"
@@ -217,7 +217,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:463 stock/models.py:2228
+#: InvenTree/models.py:463 stock/models.py:2224
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -234,7 +234,7 @@ msgstr "选择附件"
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
-#: templates/js/translated/part.js:1955
+#: templates/js/translated/part.js:1957
#: templates/js/translated/purchase_order.js:1967
#: templates/js/translated/purchase_order.js:2131
#: templates/js/translated/return_order.js:744
@@ -263,7 +263,7 @@ msgstr "文件注释"
#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
-#: templates/js/translated/stock.js:2822
+#: templates/js/translated/stock.js:2826
msgid "User"
msgstr "用户"
@@ -309,16 +309,16 @@ msgstr "选择无效"
#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
-#: templates/InvenTree/settings/plugin.html:60
-#: templates/InvenTree/settings/plugin.html:104
-#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings_staff_js.html:324
+#: templates/InvenTree/settings/plugin.html:59
+#: templates/InvenTree/settings/plugin.html:102
+#: templates/InvenTree/settings/plugin_settings.html:22
+#: templates/InvenTree/settings/settings_staff_js.html:322
#: templates/js/translated/company.js:643
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
-#: templates/js/translated/stock.js:2526
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2340
+#: templates/js/translated/stock.js:2530
msgid "Name"
msgstr "名称"
@@ -336,22 +336,22 @@ msgstr "名称"
#: report/templates/report/inventree_build_order_base.html:117
#: stock/admin.py:41 stock/templates/stock/location.html:123
#: templates/InvenTree/settings/notifications.html:19
-#: templates/InvenTree/settings/plugin_settings.html:28
+#: templates/InvenTree/settings/plugin_settings.html:27
#: templates/InvenTree/settings/settings_staff_js.html:75
-#: templates/InvenTree/settings/settings_staff_js.html:335
+#: templates/InvenTree/settings/settings_staff_js.html:333
#: templates/js/translated/bom.js:602 templates/js/translated/bom.js:903
-#: templates/js/translated/build.js:2604 templates/js/translated/company.js:496
+#: templates/js/translated/build.js:2606 templates/js/translated/company.js:496
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
-#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
+#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1894
+#: templates/js/translated/part.js:2376 templates/js/translated/part.js:2467
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
#: templates/js/translated/return_order.js:282
#: templates/js/translated/sales_order.js:750
-#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1798
-#: templates/js/translated/stock.js:2558 templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:1425 templates/js/translated/stock.js:1800
+#: templates/js/translated/stock.js:2562 templates/js/translated/stock.js:2634
msgid "Description"
msgstr "描述信息"
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2385 templates/js/translated/stock.js:2571
msgid "Path"
msgstr "路径"
@@ -718,7 +718,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2220
+#: InvenTree/status_codes.py:329 templates/js/translated/stock.js:2222
msgid "Merged stock items"
msgstr "合并的库存项目"
@@ -851,7 +851,7 @@ msgstr "生产订单"
#: build/templates/build/index.html:8 build/templates/build/index.html:12
#: order/templates/order/sales_order_detail.html:119
#: order/templates/order/so_sidebar.html:13
-#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:246
+#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:245
#: templates/InvenTree/search.html:141
#: templates/InvenTree/settings/sidebar.html:51
#: templates/js/translated/search.js:216 users/models.py:42
@@ -874,7 +874,7 @@ msgstr "相关生产订单"
#: report/templates/report/inventree_return_order_report_base.html:26
#: report/templates/report/inventree_so_report_base.html:28
#: templates/js/translated/bom.js:739 templates/js/translated/bom.js:913
-#: templates/js/translated/build.js:1847 templates/js/translated/order.js:272
+#: templates/js/translated/build.js:1849 templates/js/translated/order.js:272
#: templates/js/translated/pricing.js:368
#: templates/js/translated/purchase_order.js:1992
#: templates/js/translated/return_order.js:693
@@ -918,17 +918,17 @@ msgstr "此次生产匹配的订单"
#: templates/InvenTree/search.html:82
#: templates/email/build_order_completed.html:17
#: templates/email/build_order_required_stock.html:17
-#: templates/email/low_stock_notification.html:16
+#: templates/email/low_stock_notification.html:15
#: templates/email/overdue_build_order.html:16
#: templates/js/translated/barcode.js:516 templates/js/translated/bom.js:601
#: templates/js/translated/bom.js:738 templates/js/translated/bom.js:857
-#: templates/js/translated/build.js:1230 templates/js/translated/build.js:1714
-#: templates/js/translated/build.js:2213 templates/js/translated/build.js:2615
+#: templates/js/translated/build.js:1232 templates/js/translated/build.js:1716
+#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2617
#: templates/js/translated/company.js:322
#: templates/js/translated/company.js:807
#: templates/js/translated/company.js:914
#: templates/js/translated/company.js:1154 templates/js/translated/part.js:1605
-#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1861
+#: templates/js/translated/part.js:1671 templates/js/translated/part.js:1863
#: templates/js/translated/pricing.js:351
#: templates/js/translated/purchase_order.js:707
#: templates/js/translated/purchase_order.js:1233
@@ -941,9 +941,9 @@ msgstr "此次生产匹配的订单"
#: templates/js/translated/sales_order.js:1515
#: templates/js/translated/sales_order.js:1716
#: templates/js/translated/stock.js:629 templates/js/translated/stock.js:795
-#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1754
-#: templates/js/translated/stock.js:2656 templates/js/translated/stock.js:2880
-#: templates/js/translated/stock.js:3017
+#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:2660 templates/js/translated/stock.js:2884
+#: templates/js/translated/stock.js:3021
msgid "Part"
msgstr "商品"
@@ -960,7 +960,7 @@ msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
#: build/models.py:202 build/serializers.py:828
-#: templates/js/translated/build.js:2201
+#: templates/js/translated/build.js:2203
#: templates/js/translated/sales_order.js:1104
msgid "Source Location"
msgstr "来源地点"
@@ -1026,7 +1026,7 @@ msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
#: build/models.py:260 order/models.py:405 order/models.py:1742
-#: templates/js/translated/build.js:2700
+#: templates/js/translated/build.js:2702
msgid "Completion Date"
msgstr "完成日期:"
@@ -1034,7 +1034,7 @@ msgstr "完成日期:"
msgid "completed by"
msgstr "完成人"
-#: build/models.py:274 templates/js/translated/build.js:2660
+#: build/models.py:274 templates/js/translated/build.js:2662
msgid "Issued by"
msgstr "发布者"
@@ -1049,7 +1049,7 @@ msgstr "发布此生产订单的用户"
#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
-#: templates/js/translated/build.js:2672
+#: templates/js/translated/build.js:2674
#: templates/js/translated/purchase_order.js:1682
#: templates/js/translated/return_order.js:327
#: templates/js/translated/table_filters.js:440
@@ -1063,6 +1063,9 @@ msgstr "构建此订单的用户或组"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
+#: order/templates/order/order_base.html:171
+#: order/templates/order/return_order_base.html:146
+#: order/templates/order/sales_order_base.html:181
#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
@@ -1123,7 +1126,7 @@ msgid "Selected stock item not found in BOM"
msgstr "在BOM中找不到选定的库存项"
#: build/models.py:1340 stock/templates/stock/item_base.html:170
-#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2588
+#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2590
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
@@ -1138,7 +1141,7 @@ msgstr "生产以分配部件"
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:195
#: templates/js/translated/build.js:801 templates/js/translated/build.js:806
-#: templates/js/translated/build.js:2215 templates/js/translated/build.js:2785
+#: templates/js/translated/build.js:2217 templates/js/translated/build.js:2787
#: templates/js/translated/sales_order.js:250
#: templates/js/translated/sales_order.js:1117
#: templates/js/translated/sales_order.js:1416
@@ -1146,7 +1149,7 @@ msgstr "生产以分配部件"
#: templates/js/translated/sales_order.js:1522
#: templates/js/translated/sales_order.js:1612
#: templates/js/translated/stock.js:630 templates/js/translated/stock.js:796
-#: templates/js/translated/stock.js:2763
+#: templates/js/translated/stock.js:2767
msgid "Stock Item"
msgstr "库存项"
@@ -1176,12 +1179,12 @@ msgstr "源库存项"
#: templates/js/translated/barcode.js:518 templates/js/translated/bom.js:740
#: templates/js/translated/bom.js:921 templates/js/translated/build.js:477
#: templates/js/translated/build.js:638 templates/js/translated/build.js:828
-#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
-#: templates/js/translated/build.js:2216
+#: templates/js/translated/build.js:1254 templates/js/translated/build.js:1742
+#: templates/js/translated/build.js:2218
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2904
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1196,8 +1199,8 @@ msgstr "源库存项"
#: templates/js/translated/sales_order.js:1618
#: templates/js/translated/sales_order.js:1738
#: templates/js/translated/stock.js:501 templates/js/translated/stock.js:655
-#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2807
-#: templates/js/translated/stock.js:2892
+#: templates/js/translated/stock.js:826 templates/js/translated/stock.js:2811
+#: templates/js/translated/stock.js:2896
msgid "Quantity"
msgstr "数量"
@@ -1214,7 +1217,7 @@ msgid "Destination stock item"
msgstr "目标库存项"
#: build/serializers.py:148 build/serializers.py:706
-#: templates/js/translated/build.js:1240
+#: templates/js/translated/build.js:1242
msgid "Build Output"
msgstr "生产产出"
@@ -1240,7 +1243,7 @@ msgstr "输入生产产出数量"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1365
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1284,8 +1287,8 @@ msgstr "必须提供生产产出列表"
#: stock/serializers.py:445 stock/serializers.py:526 stock/serializers.py:902
#: stock/serializers.py:1144 stock/templates/stock/item_base.html:384
#: templates/js/translated/barcode.js:517
-#: templates/js/translated/barcode.js:764 templates/js/translated/build.js:813
-#: templates/js/translated/build.js:1755
+#: templates/js/translated/barcode.js:765 templates/js/translated/build.js:813
+#: templates/js/translated/build.js:1757
#: templates/js/translated/purchase_order.js:1107
#: templates/js/translated/purchase_order.js:1197
#: templates/js/translated/sales_order.js:1428
@@ -1293,8 +1296,8 @@ msgstr "必须提供生产产出列表"
#: templates/js/translated/sales_order.js:1547
#: templates/js/translated/sales_order.js:1626
#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:797
-#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1918
-#: templates/js/translated/stock.js:2670
+#: templates/js/translated/stock.js:1009 templates/js/translated/stock.js:1920
+#: templates/js/translated/stock.js:2674
msgid "Location"
msgstr "地点"
@@ -1306,13 +1309,13 @@ msgstr "已完成生产产出的仓储地点"
#: build/templates/build/detail.html:62 order/models.py:788
#: order/models.py:1725 order/serializers.py:522 stock/admin.py:106
#: stock/templates/stock/item_base.html:417
-#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2644
+#: templates/js/translated/barcode.js:239 templates/js/translated/build.js:2646
#: templates/js/translated/purchase_order.js:1237
#: templates/js/translated/purchase_order.js:1641
#: templates/js/translated/return_order.js:299
#: templates/js/translated/sales_order.js:767
-#: templates/js/translated/stock.js:1893 templates/js/translated/stock.js:2781
-#: templates/js/translated/stock.js:2908
+#: templates/js/translated/stock.js:1895 templates/js/translated/stock.js:2785
+#: templates/js/translated/stock.js:2912
msgid "Status"
msgstr "状态"
@@ -1599,7 +1602,7 @@ msgstr "库存尚未被完全分配到此构建订单"
#: order/templates/order/return_order_base.html:165
#: order/templates/order/sales_order_base.html:193
#: report/templates/report/inventree_build_order_base.html:125
-#: templates/js/translated/build.js:2692 templates/js/translated/part.js:1488
+#: templates/js/translated/build.js:2694 templates/js/translated/part.js:1488
#: templates/js/translated/purchase_order.js:1658
#: templates/js/translated/purchase_order.js:2074
#: templates/js/translated/return_order.js:315
@@ -1644,7 +1647,7 @@ msgstr "已完成"
#: templates/email/overdue_sales_order.html:15
#: templates/js/translated/pricing.js:894
#: templates/js/translated/sales_order.js:717
-#: templates/js/translated/stock.js:2710
+#: templates/js/translated/stock.js:2714
msgid "Sales Order"
msgstr "销售订单"
@@ -1655,21 +1658,21 @@ msgid "Issued By"
msgstr "发布者"
#: build/templates/build/build_base.html:217
-#: build/templates/build/detail.html:94 templates/js/translated/build.js:2609
+#: build/templates/build/detail.html:94 templates/js/translated/build.js:2611
msgid "Priority"
msgstr "优先级"
-#: build/templates/build/build_base.html:280
+#: build/templates/build/build_base.html:279
msgid "Delete Build Order"
msgstr "删除生产订单"
-#: build/templates/build/build_base.html:290
+#: build/templates/build/build_base.html:289
#, fuzzy
#| msgid "Build Order"
msgid "Build Order QR Code"
msgstr "生产订单"
-#: build/templates/build/build_base.html:302
+#: build/templates/build/build_base.html:301
#, fuzzy
#| msgid "Print Build Orders"
msgid "Link Barcode to Build Order"
@@ -1702,11 +1705,11 @@ msgstr "已分配的部件"
#: build/templates/build/detail.html:80 stock/admin.py:105
#: stock/templates/stock/item_base.html:163
-#: templates/js/translated/build.js:1259
+#: templates/js/translated/build.js:1261
#: templates/js/translated/model_renderers.js:209
#: templates/js/translated/purchase_order.js:1203
-#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1907
-#: templates/js/translated/stock.js:2915
+#: templates/js/translated/stock.js:1079 templates/js/translated/stock.js:1909
+#: templates/js/translated/stock.js:2919
#: templates/js/translated/table_filters.js:255
#: templates/js/translated/table_filters.js:346
msgid "Batch"
@@ -1716,7 +1719,7 @@ msgstr "批量"
#: order/templates/order/order_base.html:177
#: order/templates/order/return_order_base.html:152
#: order/templates/order/sales_order_base.html:187
-#: templates/js/translated/build.js:2652
+#: templates/js/translated/build.js:2654
msgid "Created"
msgstr "已创建"
@@ -1736,7 +1739,7 @@ msgstr "子生产订单"
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:183 templates/js/translated/build.js:2027
+#: build/templates/build/detail.html:183 templates/js/translated/build.js:2029
msgid "Unallocate stock"
msgstr "未分配库存"
@@ -1830,7 +1833,7 @@ msgstr "已完成构建输出"
#: company/templates/company/manufacturer_part_sidebar.html:9
#: company/templates/company/sidebar.html:37
#: order/templates/order/po_sidebar.html:9
-#: order/templates/order/purchase_order_detail.html:103
+#: order/templates/order/purchase_order_detail.html:102
#: order/templates/order/return_order_detail.html:74
#: order/templates/order/return_order_sidebar.html:7
#: order/templates/order/sales_order_detail.html:134
@@ -1844,11 +1847,11 @@ msgstr "附件"
msgid "Build Notes"
msgstr "生产备注"
-#: build/templates/build/detail.html:475
+#: build/templates/build/detail.html:474
msgid "Allocation Complete"
msgstr "分配完成"
-#: build/templates/build/detail.html:476
+#: build/templates/build/detail.html:475
msgid "All untracked stock items have been allocated"
msgstr "所有未跟踪的库存项目都已分配"
@@ -3331,8 +3334,8 @@ msgstr ""
msgid "Published"
msgstr ""
-#: common/models.py:2674 templates/InvenTree/settings/plugin.html:62
-#: templates/InvenTree/settings/plugin_settings.html:33
+#: common/models.py:2674 templates/InvenTree/settings/plugin.html:61
+#: templates/InvenTree/settings/plugin_settings.html:32
#: templates/js/translated/news.js:47
msgid "Author"
msgstr ""
@@ -3350,6 +3353,12 @@ msgid "Was this news item read?"
msgstr ""
#: common/models.py:2705 company/models.py:140 part/models.py:907
+#: report/templates/report/inventree_bill_of_materials_report.html:126
+#: report/templates/report/inventree_bill_of_materials_report.html:148
+#: report/templates/report/inventree_return_order_report_base.html:35
+#: stock/templates/stock/item_base.html:134 templates/503.html:31
+#: templates/hover_image.html:7 templates/hover_image.html:9
+#: templates/modals.html:6
msgid "Image"
msgstr "图片"
@@ -3387,7 +3396,7 @@ msgid "Error raised by plugin"
msgstr ""
#: common/views.py:85 order/templates/order/order_wizard/po_upload.html:51
-#: order/templates/order/purchase_order_detail.html:25 order/views.py:118
+#: order/templates/order/purchase_order_detail.html:24 order/views.py:118
#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
@@ -3433,7 +3442,7 @@ msgid "Description of the company"
msgstr "公司简介"
#: company/models.py:110 company/templates/company/company_base.html:101
-#: templates/InvenTree/settings/plugin_settings.html:55
+#: templates/InvenTree/settings/plugin_settings.html:54
#: templates/js/translated/company.js:500
msgid "Website"
msgstr "网站"
@@ -3579,7 +3588,7 @@ msgstr "参数名称"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2221 templates/js/translated/company.js:857
+#: stock/models.py:2217 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3591,7 +3600,7 @@ msgstr "参数值"
#: company/models.py:399 part/admin.py:40 part/models.py:980
#: part/models.py:3337 part/templates/part/part_base.html:286
-#: templates/InvenTree/settings/settings_staff_js.html:329
+#: templates/InvenTree/settings/settings_staff_js.html:327
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
msgstr "单位"
@@ -3669,7 +3678,7 @@ msgstr "最低收费(例如库存费)"
#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
-#: templates/js/translated/stock.js:2137
+#: templates/js/translated/stock.js:2139
msgid "Packaging"
msgstr "打包"
@@ -3703,9 +3712,9 @@ msgstr ""
#: company/models.py:575 company/templates/company/supplier_part.html:115
#: templates/email/build_order_required_stock.html:19
-#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1885
-#: templates/js/translated/build.js:2792
+#: templates/email/low_stock_notification.html:17
+#: templates/js/translated/bom.js:1123 templates/js/translated/build.js:1887
+#: templates/js/translated/build.js:2794
#: templates/js/translated/model_renderers.js:202
#: templates/js/translated/part.js:636 templates/js/translated/part.js:638
#: templates/js/translated/part.js:643
@@ -3756,6 +3765,20 @@ msgstr ""
msgid "Delete Company"
msgstr "删除该公司"
+#: company/templates/company/company_base.html:48
+#: company/templates/company/manufacturer_part.html:51
+#: company/templates/company/supplier_part.html:84
+#: part/templates/part/part_thumb.html:20
+#: report/templates/report/inventree_build_order_base.html:98
+#: report/templates/report/inventree_po_report_base.html:40
+#: report/templates/report/inventree_so_report_base.html:40
+#: report/templates/report/inventree_test_report_base.html:84
+#: report/templates/report/inventree_test_report_base.html:163
+#, fuzzy
+#| msgid "Part name"
+msgid "Part image"
+msgstr "商品名称"
+
#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
@@ -3780,7 +3803,7 @@ msgstr ""
#: templates/js/translated/company.js:480
#: templates/js/translated/return_order.js:264
#: templates/js/translated/sales_order.js:732
-#: templates/js/translated/stock.js:2745
+#: templates/js/translated/stock.js:2749
#: templates/js/translated/table_filters.js:662
msgid "Customer"
msgstr "客户"
@@ -3794,7 +3817,7 @@ msgid "Phone"
msgstr "电话"
#: company/templates/company/company_base.html:206
-#: part/templates/part/part_base.html:529
+#: part/templates/part/part_base.html:530
msgid "Remove Image"
msgstr ""
@@ -3803,14 +3826,14 @@ msgid "Remove associated image from this company"
msgstr ""
#: company/templates/company/company_base.html:209
-#: part/templates/part/part_base.html:532
+#: part/templates/part/part_base.html:533
#: templates/InvenTree/settings/user.html:87
#: templates/InvenTree/settings/user.html:149
msgid "Remove"
msgstr ""
#: company/templates/company/company_base.html:238
-#: part/templates/part/part_base.html:561
+#: part/templates/part/part_base.html:562
msgid "Upload Image"
msgstr "上传图片"
@@ -3875,7 +3898,7 @@ msgstr "供货商库存"
#: order/templates/order/purchase_orders.html:8
#: order/templates/order/purchase_orders.html:12
#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35
-#: templates/InvenTree/index.html:277 templates/InvenTree/search.html:200
+#: templates/InvenTree/index.html:276 templates/InvenTree/search.html:200
#: templates/InvenTree/settings/sidebar.html:53
#: templates/js/translated/search.js:235 templates/navbar.html:50
#: users/models.py:43
@@ -3898,7 +3921,7 @@ msgstr "新建采购订单"
#: order/templates/order/sales_orders.html:8
#: order/templates/order/sales_orders.html:15
#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39
-#: templates/InvenTree/index.html:308 templates/InvenTree/search.html:220
+#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:220
#: templates/InvenTree/settings/sidebar.html:55
#: templates/js/translated/search.js:249 templates/navbar.html:62
#: users/models.py:44
@@ -3916,7 +3939,7 @@ msgid "New Sales Order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:173
-#: templates/js/translated/build.js:1725
+#: templates/js/translated/build.js:1727
msgid "Assigned Stock"
msgstr ""
@@ -3934,14 +3957,14 @@ msgid "Return Orders"
msgstr "已退回"
#: company/templates/company/detail.html:195
-#: order/templates/order/return_orders.html:21
+#: order/templates/order/return_orders.html:20
#, fuzzy
#| msgid "Create new sales order"
msgid "Create new return order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:196
-#: order/templates/order/return_orders.html:22
+#: order/templates/order/return_orders.html:21
#, fuzzy
#| msgid "New Build Order"
msgid "New Return Order"
@@ -4013,7 +4036,7 @@ msgstr "删除供应商商品"
#: company/templates/company/manufacturer_part.html:136
#: company/templates/company/manufacturer_part.html:183
#: part/templates/part/detail.html:393 part/templates/part/detail.html:423
-#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:58
+#: templates/js/translated/forms.js:499 templates/js/translated/helpers.js:59
#: templates/js/translated/part.js:336 templates/js/translated/pricing.js:611
#: templates/js/translated/stock.js:189 users/models.py:245
msgid "Delete"
@@ -4037,8 +4060,8 @@ msgstr "新建参数"
msgid "Delete parameters"
msgstr "删除参数"
-#: company/templates/company/manufacturer_part.html:227
-#: part/templates/part/detail.html:872
+#: company/templates/company/manufacturer_part.html:226
+#: part/templates/part/detail.html:871
msgid "Add Parameter"
msgstr "添加参数"
@@ -4069,7 +4092,7 @@ msgstr "联系人"
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
-#: templates/js/translated/stock.js:1997
+#: templates/js/translated/stock.js:1999
msgid "Supplier Part"
msgstr "供应商商品"
@@ -4162,7 +4185,7 @@ msgstr ""
#: stock/templates/stock/location.html:194
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1000
-#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2576
+#: templates/js/translated/search.js:202 templates/js/translated/stock.js:2580
#: users/models.py:41
msgid "Stock Items"
msgstr "库存项"
@@ -4262,6 +4285,21 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
+#: label/templates/label/part/part_label.html:31
+#: label/templates/label/stockitem/qr.html:21
+#: label/templates/label/stocklocation/qr.html:21
+#: templates/allauth_2fa/setup.html:18
+#, fuzzy
+#| msgid "Part QR Code"
+msgid "QC Code"
+msgstr "商品二维码"
+
+#: label/templates/label/part/part_label_code128.html:31
+#: label/templates/label/stocklocation/qr_and_text.html:31
+#: templates/qr_code.html:7
+msgid "QR code"
+msgstr ""
+
#: order/admin.py:30 order/models.py:69
#: report/templates/report/inventree_po_report_base.html:31
#: report/templates/report/inventree_so_report_base.html:31
@@ -4285,7 +4323,7 @@ msgstr ""
#: templates/js/translated/purchase_order.js:114
#: templates/js/translated/purchase_order.js:709
#: templates/js/translated/purchase_order.js:1596
-#: templates/js/translated/stock.js:1977 templates/js/translated/stock.js:2692
+#: templates/js/translated/stock.js:1979 templates/js/translated/stock.js:2696
msgid "Purchase Order"
msgstr ""
@@ -4496,7 +4534,7 @@ msgstr ""
#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
-#: templates/js/translated/stock.js:2028
+#: templates/js/translated/stock.js:2030
msgid "Purchase Price"
msgstr "采购价格"
@@ -4648,7 +4686,7 @@ msgstr ""
#: order/templates/order/return_order_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:13
#: templates/js/translated/return_order.js:249
-#: templates/js/translated/stock.js:2727
+#: templates/js/translated/stock.js:2731
#, fuzzy
#| msgid "Returned"
msgid "Return Order"
@@ -5020,7 +5058,7 @@ msgstr ""
#: part/templates/part/import_wizard/match_fields.html:71
#: part/templates/part/import_wizard/match_references.html:49
#: templates/js/translated/bom.js:102 templates/js/translated/build.js:485
-#: templates/js/translated/build.js:646 templates/js/translated/build.js:2097
+#: templates/js/translated/build.js:646 templates/js/translated/build.js:2099
#: templates/js/translated/purchase_order.js:653
#: templates/js/translated/purchase_order.js:1165
#: templates/js/translated/return_order.js:474
@@ -5079,11 +5117,11 @@ msgstr ""
msgid "Received Stock"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:19
+#: order/templates/order/purchase_order_detail.html:18
msgid "Purchase Order Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:28
+#: order/templates/order/purchase_order_detail.html:27
#: order/templates/order/return_order_detail.html:24
#: order/templates/order/sales_order_detail.html:24
#: templates/js/translated/purchase_order.js:380
@@ -5092,37 +5130,37 @@ msgstr ""
msgid "Add Line Item"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:31
#: order/templates/order/purchase_order_detail.html:32
-#: order/templates/order/purchase_order_detail.html:33
#: order/templates/order/return_order_detail.html:28
#: order/templates/order/return_order_detail.html:29
msgid "Receive Line Items"
msgstr ""
+#: order/templates/order/purchase_order_detail.html:49
#: order/templates/order/purchase_order_detail.html:50
-#: order/templates/order/purchase_order_detail.html:51
#, fuzzy
#| msgid "Delete parameters"
msgid "Delete Line Items"
msgstr "删除参数"
-#: order/templates/order/purchase_order_detail.html:67
+#: order/templates/order/purchase_order_detail.html:66
#: order/templates/order/return_order_detail.html:47
#: order/templates/order/sales_order_detail.html:43
msgid "Extra Lines"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:73
+#: order/templates/order/purchase_order_detail.html:72
#: order/templates/order/return_order_detail.html:53
#: order/templates/order/sales_order_detail.html:49
msgid "Add Extra Line"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:93
+#: order/templates/order/purchase_order_detail.html:92
msgid "Received Items"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:118
+#: order/templates/order/purchase_order_detail.html:117
#: order/templates/order/return_order_detail.html:89
#: order/templates/order/sales_order_detail.html:149
msgid "Order Notes"
@@ -5226,7 +5264,7 @@ msgstr ""
#: order/templates/order/sales_order_detail.html:75
#: templates/attachment_table.html:6 templates/js/translated/bom.js:1232
-#: templates/js/translated/build.js:2000
+#: templates/js/translated/build.js:2002
msgid "Actions"
msgstr ""
@@ -5271,14 +5309,14 @@ msgid "Part Description"
msgstr ""
#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
-#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
-#: templates/js/translated/stock.js:1776
+#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1880
+#: templates/js/translated/stock.js:1778
msgid "IPN"
msgstr ""
#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
-#: templates/js/translated/part.js:1884
+#: templates/js/translated/part.js:1886
msgid "Revision"
msgstr ""
@@ -5318,7 +5356,7 @@ msgid "In Stock"
msgstr ""
#: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212
-#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1940
+#: templates/js/translated/bom.js:1163 templates/js/translated/build.js:1942
#: templates/js/translated/part.js:653 templates/js/translated/part.js:1772
#: templates/js/translated/table_filters.js:136
msgid "On Order"
@@ -5328,8 +5366,8 @@ msgstr ""
msgid "Used In"
msgstr ""
-#: part/admin.py:64 templates/js/translated/build.js:1954
-#: templates/js/translated/build.js:2214 templates/js/translated/build.js:2799
+#: part/admin.py:64 templates/js/translated/build.js:1956
+#: templates/js/translated/build.js:2216 templates/js/translated/build.js:2801
#: templates/js/translated/sales_order.js:1840
msgid "Allocated"
msgstr ""
@@ -5366,7 +5404,7 @@ msgstr "类别路径"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2395 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
@@ -5430,7 +5468,7 @@ msgstr ""
msgid "Default Location"
msgstr "默认仓储地点"
-#: part/bom.py:176 templates/email/low_stock_notification.html:17
+#: part/bom.py:176 templates/email/low_stock_notification.html:16
msgid "Total Stock"
msgstr ""
@@ -5458,7 +5496,7 @@ msgstr "商品类别"
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2586
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
@@ -5548,7 +5586,7 @@ msgstr "提高搜索结果可见性的关键字"
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
-#: templates/js/translated/part.js:1908 templates/js/translated/part.js:2120
+#: templates/js/translated/part.js:1910 templates/js/translated/part.js:2122
msgid "Category"
msgstr "类别"
@@ -5646,7 +5684,7 @@ msgstr ""
#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
-#: templates/js/translated/part.js:1970
+#: templates/js/translated/part.js:1972
msgid "Last Stocktake"
msgstr ""
@@ -5797,13 +5835,13 @@ msgstr ""
#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
-#: templates/InvenTree/settings/plugin.html:63
-#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/InvenTree/settings/settings_staff_js.html:442
+#: templates/InvenTree/settings/plugin.html:62
+#: templates/InvenTree/settings/plugin_settings.html:37
+#: templates/InvenTree/settings/settings_staff_js.html:439
#: templates/js/translated/part.js:1025 templates/js/translated/pricing.js:794
#: templates/js/translated/pricing.js:915
#: templates/js/translated/purchase_order.js:1650
-#: templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:2624
msgid "Date"
msgstr ""
@@ -5835,7 +5873,7 @@ msgstr ""
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:428
msgid "Report"
msgstr ""
@@ -5843,7 +5881,7 @@ msgstr ""
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:435
msgid "Part Count"
msgstr ""
@@ -5863,7 +5901,7 @@ msgstr ""
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3259 templates/js/translated/part.js:2460
+#: part/models.py:3259 templates/js/translated/part.js:2462
msgid "Test Name"
msgstr ""
@@ -5879,7 +5917,7 @@ msgstr ""
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3271 templates/js/translated/part.js:2469
+#: part/models.py:3271 templates/js/translated/part.js:2471
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
@@ -5888,7 +5926,7 @@ msgstr ""
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3277 templates/js/translated/part.js:2477
+#: part/models.py:3277 templates/js/translated/part.js:2479
msgid "Requires Value"
msgstr ""
@@ -5896,7 +5934,7 @@ msgstr ""
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3283 templates/js/translated/part.js:2484
+#: part/models.py:3283 templates/js/translated/part.js:2486
msgid "Requires Attachment"
msgstr ""
@@ -5983,7 +6021,7 @@ msgstr ""
#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
-#: templates/js/translated/build.js:1862
+#: templates/js/translated/build.js:1864
#: templates/js/translated/table_filters.js:152
#: templates/js/translated/table_filters.js:181
msgid "Optional"
@@ -5994,7 +6032,7 @@ msgid "This BOM item is optional"
msgstr ""
#: part/models.py:3593 templates/js/translated/bom.js:937
-#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
+#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1855
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
@@ -6507,7 +6545,7 @@ msgstr ""
#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50
#: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29
#: templates/InvenTree/settings/sidebar.html:49
-#: templates/js/translated/stock.js:1933 users/models.py:39
+#: templates/js/translated/stock.js:1935 users/models.py:39
msgid "Stocktake"
msgstr ""
@@ -6613,7 +6651,7 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:801
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
@@ -6780,7 +6818,7 @@ msgid "Minimum stock level"
msgstr ""
#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1037
-#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1943
+#: templates/js/translated/part.js:1204 templates/js/translated/part.js:1945
#: templates/js/translated/pricing.js:373
#: templates/js/translated/pricing.js:1019
msgid "Price Range"
@@ -6803,11 +6841,17 @@ msgstr "商品二维码"
msgid "Link Barcode to Part"
msgstr ""
-#: part/templates/part/part_base.html:513
+#: part/templates/part/part_base.html:474 templates/js/translated/part.js:1838
+#, fuzzy
+#| msgid "Edit part"
+msgid "part"
+msgstr "编辑商品"
+
+#: part/templates/part/part_base.html:514
msgid "Calculate"
msgstr ""
-#: part/templates/part/part_base.html:530
+#: part/templates/part/part_base.html:531
msgid "Remove associated image from this part"
msgstr ""
@@ -6836,7 +6880,7 @@ msgid "No supplier pricing available"
msgstr ""
#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87
-#: part/templates/part/prices.html:240
+#: part/templates/part/prices.html:239
msgid "BOM Pricing"
msgstr ""
@@ -6874,8 +6918,8 @@ msgstr ""
#: templates/InvenTree/search.html:153
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1182 templates/js/translated/part.js:1769
-#: templates/js/translated/part.js:1923 templates/js/translated/stock.js:1008
-#: templates/js/translated/stock.js:1810 templates/navbar.html:31
+#: templates/js/translated/part.js:1925 templates/js/translated/stock.js:1008
+#: templates/js/translated/stock.js:1812 templates/navbar.html:31
msgid "Stock"
msgstr "库存"
@@ -6908,7 +6952,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:436
#: templates/js/translated/company.js:1291
#: templates/js/translated/company.js:1301
-#: templates/js/translated/stock.js:1963
+#: templates/js/translated/stock.js:1965
msgid "Last Updated"
msgstr ""
@@ -6932,7 +6976,7 @@ msgstr ""
msgid "Purchase History"
msgstr ""
-#: part/templates/part/prices.html:95 part/templates/part/prices.html:264
+#: part/templates/part/prices.html:95 part/templates/part/prices.html:263
msgid "Variant Pricing"
msgstr ""
@@ -6940,7 +6984,7 @@ msgstr ""
msgid "Overall Pricing"
msgstr ""
-#: part/templates/part/prices.html:138 part/templates/part/prices.html:316
+#: part/templates/part/prices.html:138 part/templates/part/prices.html:315
msgid "Sale History"
msgstr ""
@@ -6953,9 +6997,9 @@ msgid "Price range data is not available for this part."
msgstr ""
#: part/templates/part/prices.html:164 part/templates/part/prices.html:196
-#: part/templates/part/prices.html:217 part/templates/part/prices.html:241
-#: part/templates/part/prices.html:265 part/templates/part/prices.html:288
-#: part/templates/part/prices.html:317
+#: part/templates/part/prices.html:217 part/templates/part/prices.html:240
+#: part/templates/part/prices.html:264 part/templates/part/prices.html:287
+#: part/templates/part/prices.html:316
msgid "Jump to overview"
msgstr ""
@@ -6963,11 +7007,11 @@ msgstr ""
msgid "Add Internal Price Break"
msgstr ""
-#: part/templates/part/prices.html:287
+#: part/templates/part/prices.html:286
msgid "Sale Pricing"
msgstr ""
-#: part/templates/part/prices.html:293
+#: part/templates/part/prices.html:292
msgid "Add Sell Price Break"
msgstr ""
@@ -7155,7 +7199,7 @@ msgstr ""
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:61
+#: plugin/models.py:32 templates/InvenTree/settings/plugin.html:60
msgid "Key"
msgstr ""
@@ -7183,7 +7227,7 @@ msgstr ""
msgid "Builtin Plugin"
msgstr ""
-#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:10
+#: plugin/models.py:144 templates/InvenTree/settings/plugin_settings.html:9
msgid "Plugin"
msgstr ""
@@ -7420,7 +7464,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:88
#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
-#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
+#: templates/js/translated/build.js:1252 templates/js/translated/build.js:1740
#: templates/js/translated/model_renderers.js:198
#: templates/js/translated/return_order.js:508
#: templates/js/translated/return_order.js:688
@@ -7440,12 +7484,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2209 templates/js/translated/stock.js:1405
+#: stock/models.py:2205 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2215
+#: stock/models.py:2211
msgid "Result"
msgstr ""
@@ -7474,7 +7518,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:168
#: stock/admin.py:104 templates/js/translated/stock.js:653
-#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2898
+#: templates/js/translated/stock.js:824 templates/js/translated/stock.js:2902
msgid "Serial"
msgstr ""
@@ -7546,7 +7590,7 @@ msgstr "删除模板"
#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
-#: templates/js/translated/stock.js:1947
+#: templates/js/translated/stock.js:1949
msgid "Expiry Date"
msgstr ""
@@ -7591,7 +7635,7 @@ msgstr ""
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:129 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2595
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
@@ -7713,104 +7757,104 @@ msgstr ""
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1360
+#: stock/models.py:1356
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1366
+#: stock/models.py:1362
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1372
+#: stock/models.py:1368
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1375
+#: stock/models.py:1371
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1378
+#: stock/models.py:1374
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1385 stock/serializers.py:349
+#: stock/models.py:1381 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/models.py:1456
+#: stock/models.py:1452
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1459
+#: stock/models.py:1455
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1462
+#: stock/models.py:1458
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1465
+#: stock/models.py:1461
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1468
+#: stock/models.py:1464
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1471
+#: stock/models.py:1467
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1478 stock/serializers.py:946
+#: stock/models.py:1474 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1482
+#: stock/models.py:1478
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1486
+#: stock/models.py:1482
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1490
+#: stock/models.py:1486
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1659
+#: stock/models.py:1655
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2127
+#: stock/models.py:2123
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2185
+#: stock/models.py:2181
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2191
+#: stock/models.py:2187
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2210
+#: stock/models.py:2206
msgid "Test name"
msgstr ""
-#: stock/models.py:2216
+#: stock/models.py:2212
msgid "Test result"
msgstr ""
-#: stock/models.py:2222
+#: stock/models.py:2218
msgid "Test output value"
msgstr ""
-#: stock/models.py:2229
+#: stock/models.py:2225
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2235
+#: stock/models.py:2231
msgid "Test notes"
msgstr ""
@@ -7976,7 +8020,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3045
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:3049
msgid "Install Stock Item"
msgstr ""
@@ -8132,7 +8176,7 @@ msgid "Available Quantity"
msgstr ""
#: stock/templates/stock/item_base.html:388
-#: templates/js/translated/build.js:1764
+#: templates/js/translated/build.js:1766
msgid "No location set"
msgstr "未设置仓储地点"
@@ -8168,35 +8212,42 @@ msgstr ""
msgid "No stocktake performed"
msgstr ""
-#: stock/templates/stock/item_base.html:523
+#: stock/templates/stock/item_base.html:497
+#: templates/js/translated/stock.js:1728
+#, fuzzy
+#| msgid "Stock Item"
+msgid "stock item"
+msgstr "库存项"
+
+#: stock/templates/stock/item_base.html:522
msgid "Edit Stock Status"
msgstr ""
-#: stock/templates/stock/item_base.html:532
+#: stock/templates/stock/item_base.html:531
msgid "Stock Item QR Code"
msgstr ""
-#: stock/templates/stock/item_base.html:543
+#: stock/templates/stock/item_base.html:542
msgid "Link Barcode to Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:607
+#: stock/templates/stock/item_base.html:606
msgid "Select one of the part variants listed below."
msgstr ""
-#: stock/templates/stock/item_base.html:610
+#: stock/templates/stock/item_base.html:609
msgid "Warning"
msgstr "警告"
-#: stock/templates/stock/item_base.html:611
+#: stock/templates/stock/item_base.html:610
msgid "This action cannot be easily undone"
msgstr ""
-#: stock/templates/stock/item_base.html:619
+#: stock/templates/stock/item_base.html:618
msgid "Convert Stock Item"
msgstr ""
-#: stock/templates/stock/item_base.html:649
+#: stock/templates/stock/item_base.html:648
msgid "Return to Stock"
msgstr ""
@@ -8270,15 +8321,22 @@ msgstr "新建仓储地点"
msgid "New Location"
msgstr "新建仓储地点"
-#: stock/templates/stock/location.html:303
+#: stock/templates/stock/location.html:287
+#: templates/js/translated/stock.js:2384
+#, fuzzy
+#| msgid "Stock Location"
+msgid "stock location"
+msgstr "仓储地点"
+
+#: stock/templates/stock/location.html:304
msgid "Scanned stock container into this location"
msgstr ""
-#: stock/templates/stock/location.html:376
+#: stock/templates/stock/location.html:377
msgid "Stock Location QR Code"
msgstr ""
-#: stock/templates/stock/location.html:387
+#: stock/templates/stock/location.html:388
msgid "Link Barcode to Stock Location"
msgstr ""
@@ -8340,11 +8398,11 @@ msgstr ""
msgid "Refer to the error log in the admin interface for further details"
msgstr ""
-#: templates/503.html:11 templates/503.html:34
+#: templates/503.html:11 templates/503.html:33
msgid "Site is in Maintenance"
msgstr ""
-#: templates/503.html:40
+#: templates/503.html:39
msgid "The site is currently in maintenance and should be up again soon!"
msgstr ""
@@ -8380,43 +8438,43 @@ msgstr ""
msgid "Required for Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:210
+#: templates/InvenTree/index.html:209
msgid "Expired Stock"
msgstr ""
-#: templates/InvenTree/index.html:224
+#: templates/InvenTree/index.html:223
msgid "Stale Stock"
msgstr ""
-#: templates/InvenTree/index.html:249
+#: templates/InvenTree/index.html:248
msgid "Build Orders In Progress"
msgstr ""
-#: templates/InvenTree/index.html:260
+#: templates/InvenTree/index.html:259
msgid "Overdue Build Orders"
msgstr ""
-#: templates/InvenTree/index.html:280
+#: templates/InvenTree/index.html:279
msgid "Outstanding Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:291
+#: templates/InvenTree/index.html:290
msgid "Overdue Purchase Orders"
msgstr ""
-#: templates/InvenTree/index.html:311
+#: templates/InvenTree/index.html:310
msgid "Outstanding Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:322
+#: templates/InvenTree/index.html:321
msgid "Overdue Sales Orders"
msgstr ""
-#: templates/InvenTree/index.html:337
+#: templates/InvenTree/index.html:336
msgid "InvenTree News"
msgstr ""
-#: templates/InvenTree/index.html:339
+#: templates/InvenTree/index.html:338
msgid "Current News"
msgstr ""
@@ -8426,7 +8484,7 @@ msgstr ""
#: templates/InvenTree/notifications/history.html:13
#: templates/InvenTree/notifications/history.html:14
-#: templates/InvenTree/notifications/notifications.html:77
+#: templates/InvenTree/notifications/notifications.html:75
msgid "Delete Notifications"
msgstr ""
@@ -8446,19 +8504,19 @@ msgstr ""
msgid "Notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:39
+#: templates/InvenTree/notifications/notifications.html:38
msgid "No unread notifications found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:59
+#: templates/InvenTree/notifications/notifications.html:58
msgid "No notification history found"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:67
+#: templates/InvenTree/notifications/notifications.html:65
msgid "Delete all read notifications"
msgstr ""
-#: templates/InvenTree/notifications/notifications.html:91
+#: templates/InvenTree/notifications/notifications.html:89
#: templates/js/translated/notification.js:73
msgid "Delete Notification"
msgstr ""
@@ -8487,7 +8545,7 @@ msgstr "生产订单设置"
msgid "Category Settings"
msgstr "类别设置"
-#: templates/InvenTree/settings/global.html:9
+#: templates/InvenTree/settings/global.html:8
msgid "Server Settings"
msgstr ""
@@ -8496,20 +8554,20 @@ msgstr ""
msgid "Label Settings"
msgstr "标签设置"
-#: templates/InvenTree/settings/login.html:9
+#: templates/InvenTree/settings/login.html:8
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:16
+#: templates/InvenTree/settings/login.html:15
msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
msgstr ""
-#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5
#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
-#: templates/InvenTree/settings/login.html:35
+#: templates/InvenTree/settings/login.html:34
msgid "Single Sign On"
msgstr ""
@@ -8564,57 +8622,57 @@ msgstr ""
msgid "Stocktake Reports"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:10
+#: templates/InvenTree/settings/plugin.html:9
#: templates/InvenTree/settings/sidebar.html:60
msgid "Plugin Settings"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:16
+#: templates/InvenTree/settings/plugin.html:15
msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage."
msgstr ""
-#: templates/InvenTree/settings/plugin.html:38
+#: templates/InvenTree/settings/plugin.html:37
#: templates/InvenTree/settings/sidebar.html:62
msgid "Plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:44
+#: templates/InvenTree/settings/plugin.html:43
#: templates/js/translated/plugin.js:16
msgid "Install Plugin"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:52
+#: templates/InvenTree/settings/plugin.html:51
msgid "External plugins are not enabled for this InvenTree installation"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:64
-#: templates/InvenTree/settings/plugin_settings.html:43
+#: templates/InvenTree/settings/plugin.html:63
+#: templates/InvenTree/settings/plugin_settings.html:42
msgid "Version"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:72
+#: templates/InvenTree/settings/plugin.html:71
msgid "Active plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:80
+#: templates/InvenTree/settings/plugin.html:79
msgid "Inactive plugins"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:94
+#: templates/InvenTree/settings/plugin.html:92
msgid "Plugin Error Stack"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:103
+#: templates/InvenTree/settings/plugin.html:101
msgid "Stage"
msgstr ""
-#: templates/InvenTree/settings/plugin.html:105
+#: templates/InvenTree/settings/plugin.html:103
#: templates/js/translated/notification.js:66
msgid "Message"
msgstr ""
#: templates/InvenTree/settings/plugin_details.html:32
-#: templates/InvenTree/settings/plugin_settings.html:101
+#: templates/InvenTree/settings/plugin_settings.html:100
msgid "Builtin"
msgstr ""
@@ -8622,69 +8680,69 @@ msgstr ""
msgid "Sample"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:17
+#: templates/InvenTree/settings/plugin_settings.html:16
msgid "Plugin information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:48
+#: templates/InvenTree/settings/plugin_settings.html:47
msgid "no version information supplied"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:62
+#: templates/InvenTree/settings/plugin_settings.html:61
msgid "License"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:71
+#: templates/InvenTree/settings/plugin_settings.html:70
msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running."
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:77
+#: templates/InvenTree/settings/plugin_settings.html:76
msgid "Package information"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:83
+#: templates/InvenTree/settings/plugin_settings.html:82
msgid "Installation method"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:86
+#: templates/InvenTree/settings/plugin_settings.html:85
msgid "This plugin was installed as a package"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:88
+#: templates/InvenTree/settings/plugin_settings.html:87
msgid "This plugin was found in a local server path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:94
+#: templates/InvenTree/settings/plugin_settings.html:93
msgid "Installation path"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:102
+#: templates/InvenTree/settings/plugin_settings.html:101
msgid "This is a builtin plugin which cannot be disabled"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:107
+#: templates/InvenTree/settings/plugin_settings.html:106
msgid "Commit Author"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:111
+#: templates/InvenTree/settings/plugin_settings.html:110
#: templates/about.html:36
msgid "Commit Date"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:115
+#: templates/InvenTree/settings/plugin_settings.html:114
#: templates/about.html:29
msgid "Commit Hash"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:119
+#: templates/InvenTree/settings/plugin_settings.html:118
msgid "Commit Message"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:127
+#: templates/InvenTree/settings/plugin_settings.html:126
msgid "Sign Status"
msgstr ""
-#: templates/InvenTree/settings/plugin_settings.html:132
+#: templates/InvenTree/settings/plugin_settings.html:131
msgid "Sign Key"
msgstr ""
@@ -8719,14 +8777,14 @@ msgstr "从不"
msgid "Project Code Settings"
msgstr "条形码设置"
-#: templates/InvenTree/settings/project_codes.html:23
+#: templates/InvenTree/settings/project_codes.html:21
#: templates/InvenTree/settings/sidebar.html:33
#, fuzzy
#| msgid "Part QR Code"
msgid "Project Codes"
msgstr "商品二维码"
-#: templates/InvenTree/settings/project_codes.html:27
+#: templates/InvenTree/settings/project_codes.html:25
#: templates/InvenTree/settings/settings_staff_js.html:120
#, fuzzy
#| msgid "New Parameter"
@@ -8797,12 +8855,12 @@ msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
#: templates/InvenTree/settings/settings_staff_js.html:212
-#: templates/InvenTree/settings/settings_staff_js.html:341
+#: templates/InvenTree/settings/settings_staff_js.html:339
msgid "Edit Template"
msgstr "编辑模板"
#: templates/InvenTree/settings/settings_staff_js.html:213
-#: templates/InvenTree/settings/settings_staff_js.html:342
+#: templates/InvenTree/settings/settings_staff_js.html:340
msgid "Delete Template"
msgstr "删除模板"
@@ -8816,33 +8874,33 @@ msgstr "删除类别参数模板"
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:289
+#: templates/InvenTree/settings/settings_staff_js.html:288
msgid "Create Category Parameter Template"
msgstr "创建类别参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:314
+#: templates/InvenTree/settings/settings_staff_js.html:312
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
-#: templates/InvenTree/settings/settings_staff_js.html:318
+#: templates/InvenTree/settings/settings_staff_js.html:316
#: templates/js/translated/news.js:29
#: templates/js/translated/notification.js:36
msgid "ID"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:360
+#: templates/InvenTree/settings/settings_staff_js.html:358
msgid "Create Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:377
+#: templates/InvenTree/settings/settings_staff_js.html:375
msgid "Edit Part Parameter Template"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:389
+#: templates/InvenTree/settings/settings_staff_js.html:387
msgid "Any parameters which reference this template will also be deleted"
msgstr ""
-#: templates/InvenTree/settings/settings_staff_js.html:397
+#: templates/InvenTree/settings/settings_staff_js.html:395
msgid "Delete Part Parameter Template"
msgstr ""
@@ -8914,7 +8972,7 @@ msgid "Change Password"
msgstr "更改密码"
#: templates/InvenTree/settings/user.html:23
-#: templates/js/translated/helpers.js:53 templates/js/translated/pricing.js:610
+#: templates/js/translated/helpers.js:54 templates/js/translated/pricing.js:610
#: templates/notes_buttons.html:3 templates/notes_buttons.html:4
msgid "Edit"
msgstr "编辑"
@@ -9187,6 +9245,7 @@ msgid "Submit Bug Report"
msgstr ""
#: templates/about.html:84 templates/clip.html:4
+#: templates/js/translated/helpers.js:540
msgid "copy to clipboard"
msgstr ""
@@ -9194,21 +9253,27 @@ msgstr ""
msgid "copy version information"
msgstr ""
+#: templates/account/base.html:66 templates/navbar.html:17
+#, fuzzy
+#| msgid "About InvenTree"
+msgid "InvenTree logo"
+msgstr "关于 InventTree"
+
#: templates/account/email_confirm.html:6
-#: templates/account/email_confirm.html:10
+#: templates/account/email_confirm.html:9
msgid "Confirm Email Address"
msgstr ""
-#: templates/account/email_confirm.html:16
+#: templates/account/email_confirm.html:15
#, python-format
msgid "Please confirm that %(email)s is an email address for user %(user_display)s."
msgstr ""
-#: templates/account/email_confirm.html:22 templates/js/translated/forms.js:717
+#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:717
msgid "Confirm"
msgstr "确认"
-#: templates/account/email_confirm.html:30
+#: templates/account/email_confirm.html:29
#, python-format
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
@@ -9437,7 +9502,7 @@ msgid "Required Quantity"
msgstr ""
#: templates/email/build_order_required_stock.html:38
-#: templates/email/low_stock_notification.html:31
+#: templates/email/low_stock_notification.html:30
msgid "You are receiving this email because you are subscribed to notifications for this part "
msgstr ""
@@ -9445,16 +9510,16 @@ msgstr ""
msgid "Click on the following link to view this part"
msgstr ""
-#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2779
+#: templates/email/low_stock_notification.html:18
+#: templates/js/translated/part.js:2781
msgid "Minimum Quantity"
msgstr ""
-#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1110
+#: templates/js/translated/api.js:224 templates/js/translated/modals.js:1113
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1111
+#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1114
msgid "No response from the InvenTree server"
msgstr ""
@@ -9466,27 +9531,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1120
+#: templates/js/translated/api.js:236 templates/js/translated/modals.js:1123
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1121
+#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1124
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1125
+#: templates/js/translated/api.js:241 templates/js/translated/modals.js:1128
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1126
+#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1129
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1130
+#: templates/js/translated/api.js:246 templates/js/translated/modals.js:1133
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1131
+#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1134
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -9498,11 +9563,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1135
+#: templates/js/translated/api.js:256 templates/js/translated/modals.js:1138
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1136
+#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1139
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -9567,7 +9632,7 @@ msgid "Unknown response from server"
msgstr ""
#: templates/js/translated/barcode.js:239
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "Invalid server response"
msgstr ""
@@ -9604,48 +9669,48 @@ msgid "Scan stock item barcode to check in to this location"
msgstr ""
#: templates/js/translated/barcode.js:585
-#: templates/js/translated/barcode.js:780
+#: templates/js/translated/barcode.js:782
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:616
+#: templates/js/translated/barcode.js:617
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:656
+#: templates/js/translated/barcode.js:657
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:660
+#: templates/js/translated/barcode.js:661
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:667
+#: templates/js/translated/barcode.js:668
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:676
+#: templates/js/translated/barcode.js:677
msgid "Barcode does not match valid stock item"
msgstr ""
-#: templates/js/translated/barcode.js:695
+#: templates/js/translated/barcode.js:696
msgid "Scan Stock Container Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:697
+#: templates/js/translated/barcode.js:698
msgid "Scan stock container barcode to check in to this location"
msgstr ""
-#: templates/js/translated/barcode.js:731
+#: templates/js/translated/barcode.js:732
msgid "Barcode does not match valid stock location"
msgstr ""
-#: templates/js/translated/barcode.js:775
+#: templates/js/translated/barcode.js:776
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:843
-#: templates/js/translated/barcode.js:852
+#: templates/js/translated/barcode.js:845
+#: templates/js/translated/barcode.js:854
msgid "Barcode does not match a valid location"
msgstr ""
@@ -9662,8 +9727,8 @@ msgid "Row Data"
msgstr ""
#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:669
-#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:608
-#: templates/js/translated/modals.js:732 templates/js/translated/modals.js:1040
+#: templates/js/translated/modals.js:69 templates/js/translated/modals.js:611
+#: templates/js/translated/modals.js:735 templates/js/translated/modals.js:1043
#: templates/js/translated/purchase_order.js:752 templates/modals.html:15
#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
@@ -9777,7 +9842,7 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1839
+#: templates/js/translated/bom.js:890 templates/js/translated/build.js:1841
msgid "Variant stock allowed"
msgstr ""
@@ -9797,26 +9862,26 @@ msgstr ""
msgid "No pricing available"
msgstr ""
-#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1922
+#: templates/js/translated/bom.js:1143 templates/js/translated/build.js:1924
#: templates/js/translated/sales_order.js:1821
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1926
+#: templates/js/translated/bom.js:1148 templates/js/translated/build.js:1928
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1928
+#: templates/js/translated/bom.js:1150 templates/js/translated/build.js:1930
#: templates/js/translated/part.js:1196
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1930
+#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:1932
msgid "Includes substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1913
-#: templates/js/translated/build.js:2006
+#: templates/js/translated/bom.js:1180 templates/js/translated/build.js:1915
+#: templates/js/translated/build.js:2008
msgid "Consumable item"
msgstr ""
@@ -9844,11 +9909,11 @@ msgstr ""
msgid "View BOM"
msgstr ""
-#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1679
+#: templates/js/translated/bom.js:1352 templates/js/translated/build.js:1681
msgid "No BOM items found"
msgstr ""
-#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1822
+#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1824
msgid "Required Part"
msgstr ""
@@ -9978,170 +10043,182 @@ msgstr ""
msgid "Location not specified"
msgstr "未指定仓储地点"
-#: templates/js/translated/build.js:1210
+#: templates/js/translated/build.js:893
+#, fuzzy
+#| msgid "Build output"
+msgid "build output"
+msgstr "生产产出"
+
+#: templates/js/translated/build.js:894
+#, fuzzy
+#| msgid "Build output"
+msgid "build outputs"
+msgstr "生产产出"
+
+#: templates/js/translated/build.js:1212
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1284
+#: templates/js/translated/build.js:1286
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1291
+#: templates/js/translated/build.js:1293
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1313
+#: templates/js/translated/build.js:1315
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1318
+#: templates/js/translated/build.js:1320
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1781 templates/js/translated/build.js:2803
+#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2805
#: templates/js/translated/sales_order.js:1566
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1783 templates/js/translated/build.js:2804
+#: templates/js/translated/build.js:1785 templates/js/translated/build.js:2806
#: templates/js/translated/sales_order.js:1567
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1799
+#: templates/js/translated/build.js:1801
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1809
+#: templates/js/translated/build.js:1811
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1835
+#: templates/js/translated/build.js:1837
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1871
+#: templates/js/translated/build.js:1873
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1916
+#: templates/js/translated/build.js:1918
#: templates/js/translated/sales_order.js:1828
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1918
+#: templates/js/translated/build.js:1920
#: templates/js/translated/sales_order.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:2014
+#: templates/js/translated/build.js:2016
#: templates/js/translated/sales_order.js:1927
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:2018 templates/stock_table.html:38
+#: templates/js/translated/build.js:2020 templates/stock_table.html:38
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:2021
+#: templates/js/translated/build.js:2023
#: templates/js/translated/sales_order.js:1921
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:2059
+#: templates/js/translated/build.js:2061
#: templates/js/translated/purchase_order.js:577
#: templates/js/translated/sales_order.js:1090
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:2060
+#: templates/js/translated/build.js:2062
#: templates/js/translated/sales_order.js:1091
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:2108
+#: templates/js/translated/build.js:2110
#: templates/js/translated/sales_order.js:1039
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2187
+#: templates/js/translated/build.js:2189
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2188
+#: templates/js/translated/build.js:2190
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2202
+#: templates/js/translated/build.js:2204
#: templates/js/translated/sales_order.js:1105
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2230
+#: templates/js/translated/build.js:2232
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2241
+#: templates/js/translated/build.js:2243
#: templates/js/translated/sales_order.js:1202
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2314
+#: templates/js/translated/build.js:2316
#: templates/js/translated/sales_order.js:1279
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2411
+#: templates/js/translated/build.js:2413
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2412
+#: templates/js/translated/build.js:2414
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2414
+#: templates/js/translated/build.js:2416
msgid "If a location is specified, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2415
+#: templates/js/translated/build.js:2417
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2416
+#: templates/js/translated/build.js:2418
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:2443
+#: templates/js/translated/build.js:2445
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2547
+#: templates/js/translated/build.js:2549
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
-#: templates/js/translated/stock.js:2520
+#: templates/js/translated/build.js:2584 templates/js/translated/part.js:1855
+#: templates/js/translated/part.js:2333 templates/js/translated/stock.js:1742
+#: templates/js/translated/stock.js:2524
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2596
+#: templates/js/translated/build.js:2598
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2630
+#: templates/js/translated/build.js:2632
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:2828
+#: templates/js/translated/build.js:2668 templates/js/translated/stock.js:2832
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:2681
+#: templates/js/translated/build.js:2683
msgid "group"
msgstr ""
-#: templates/js/translated/build.js:2780
+#: templates/js/translated/build.js:2782
msgid "No parts allocated for"
msgstr ""
@@ -10340,12 +10417,12 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:181
-#: templates/js/translated/filters.js:544
+#: templates/js/translated/filters.js:546
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:185
-#: templates/js/translated/filters.js:545
+#: templates/js/translated/filters.js:547
msgid "false"
msgstr ""
@@ -10381,7 +10458,7 @@ msgstr ""
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:453
+#: templates/js/translated/filters.js:455
msgid "Create filter"
msgstr ""
@@ -10443,11 +10520,11 @@ msgstr ""
msgid "Select Columns"
msgstr ""
-#: templates/js/translated/helpers.js:38
+#: templates/js/translated/helpers.js:39
msgid "YES"
msgstr ""
-#: templates/js/translated/helpers.js:41
+#: templates/js/translated/helpers.js:42
msgid "NO"
msgstr ""
@@ -10460,8 +10537,10 @@ msgid "Export to PDF"
msgstr ""
#: templates/js/translated/label.js:102
-msgid "stock items selected"
-msgstr "已选择库存项"
+#, fuzzy
+#| msgid "Rejected"
+msgid "selected"
+msgstr "已拒绝"
#: templates/js/translated/label.js:110 templates/js/translated/label.js:127
msgid "Select Label Template"
@@ -10494,12 +10573,12 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:150
-#: templates/js/translated/modals.js:663
+#: templates/js/translated/modals.js:666
msgid "Cancel"
msgstr "取消"
#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:149
-#: templates/js/translated/modals.js:731 templates/js/translated/modals.js:1039
+#: templates/js/translated/modals.js:734 templates/js/translated/modals.js:1042
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
@@ -10508,47 +10587,47 @@ msgstr ""
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:429
+#: templates/js/translated/modals.js:428
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:576
+#: templates/js/translated/modals.js:579
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:662
+#: templates/js/translated/modals.js:665
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:720
+#: templates/js/translated/modals.js:723
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:991
+#: templates/js/translated/modals.js:994
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:1003
+#: templates/js/translated/modals.js:1006
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1100
+#: templates/js/translated/modals.js:1103
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1115
+#: templates/js/translated/modals.js:1118
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1116
+#: templates/js/translated/modals.js:1119
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1139
+#: templates/js/translated/modals.js:1142
msgid "Error requesting form data"
msgstr ""
@@ -10855,111 +10934,117 @@ msgstr ""
msgid "Delete Part Relationship"
msgstr ""
-#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2005
+#: templates/js/translated/part.js:1718 templates/js/translated/part.js:2007
msgid "No parts found"
msgstr ""
-#: templates/js/translated/part.js:1915
+#: templates/js/translated/part.js:1839
+#, fuzzy
+#| msgid "Parts"
+msgid "parts"
+msgstr "商品"
+
+#: templates/js/translated/part.js:1917
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
-#: templates/js/translated/stock.js:2479
+#: templates/js/translated/part.js:2031 templates/js/translated/part.js:2252
+#: templates/js/translated/stock.js:2483
msgid "Display as list"
msgstr ""
-#: templates/js/translated/part.js:2045
+#: templates/js/translated/part.js:2047
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:2111
+#: templates/js/translated/part.js:2113
msgid "Set the part category for the selected parts"
msgstr ""
-#: templates/js/translated/part.js:2116
+#: templates/js/translated/part.js:2118
msgid "Set Part Category"
msgstr "设置商品类别"
-#: templates/js/translated/part.js:2121
+#: templates/js/translated/part.js:2123
msgid "Select Part Category"
msgstr ""
-#: templates/js/translated/part.js:2134
+#: templates/js/translated/part.js:2136
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2236
#, fuzzy
#| msgid "Subcategories"
msgid "No subcategories found"
msgstr "子类别"
-#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2272 templates/js/translated/stock.js:2503
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2350
+#: templates/js/translated/part.js:2352
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2366
+#: templates/js/translated/part.js:2368
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2446
+#: templates/js/translated/part.js:2448
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2499 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2500 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2502
+#: templates/js/translated/part.js:2504
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2518
+#: templates/js/translated/part.js:2520
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2532
+#: templates/js/translated/part.js:2534
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
+#: templates/js/translated/part.js:2613 templates/js/translated/part.js:2614
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2614
+#: templates/js/translated/part.js:2616
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2620
+#: templates/js/translated/part.js:2622
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2670
+#: templates/js/translated/part.js:2672
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2676
+#: templates/js/translated/part.js:2678
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2772
+#: templates/js/translated/part.js:2774
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2788
+#: templates/js/translated/part.js:2790
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2833
+#: templates/js/translated/part.js:2835
msgid "Minimum Stock Level"
msgstr ""
@@ -11125,7 +11210,7 @@ msgid "Quantity to receive"
msgstr ""
#: templates/js/translated/purchase_order.js:1120
-#: templates/js/translated/stock.js:2280
+#: templates/js/translated/stock.js:2282
msgid "Stock Status"
msgstr ""
@@ -11796,168 +11881,180 @@ msgstr ""
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1831
+#: templates/js/translated/stock.js:1729
+#, fuzzy
+#| msgid "Stock Items"
+msgid "stock items"
+msgstr "库存项"
+
+#: templates/js/translated/stock.js:1833
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1836
+#: templates/js/translated/stock.js:1838
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1841
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1842
+#: templates/js/translated/stock.js:1844
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1844
+#: templates/js/translated/stock.js:1846
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1848
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1849
+#: templates/js/translated/stock.js:1851
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1853
+#: templates/js/translated/stock.js:1855
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1855
+#: templates/js/translated/stock.js:1857
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1862
+#: templates/js/translated/stock.js:1864
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1864
+#: templates/js/translated/stock.js:1866
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1866
+#: templates/js/translated/stock.js:1868
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1870
+#: templates/js/translated/stock.js:1872
#: templates/js/translated/table_filters.js:292
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:2012
+#: templates/js/translated/stock.js:2014
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2059
+#: templates/js/translated/stock.js:2061
#, fuzzy
#| msgid "Stock Source"
msgid "Stock Value"
msgstr "库存来源"
-#: templates/js/translated/stock.js:2147
+#: templates/js/translated/stock.js:2149
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2295
+#: templates/js/translated/stock.js:2297
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2309
+#: templates/js/translated/stock.js:2311
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2310
+#: templates/js/translated/stock.js:2312
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2538
+#: templates/js/translated/stock.js:2385
+#, fuzzy
+#| msgid "Stock Locations"
+msgid "stock locations"
+msgstr "仓储地点"
+
+#: templates/js/translated/stock.js:2542
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2645
+#: templates/js/translated/stock.js:2649
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2665
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2683
+#: templates/js/translated/stock.js:2687
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2702
+#: templates/js/translated/stock.js:2706
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2719
+#: templates/js/translated/stock.js:2723
#, fuzzy
#| msgid "Sales Order Settings"
msgid "Sales Order no longer exists"
msgstr "销售订单设置"
-#: templates/js/translated/stock.js:2736
+#: templates/js/translated/stock.js:2740
msgid "Return Order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2755
+#: templates/js/translated/stock.js:2759
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2773
+#: templates/js/translated/stock.js:2777
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2791
+#: templates/js/translated/stock.js:2795
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2799
+#: templates/js/translated/stock.js:2803
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2875
+#: templates/js/translated/stock.js:2879
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2925 templates/js/translated/stock.js:2960
+#: templates/js/translated/stock.js:2929 templates/js/translated/stock.js:2964
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2978
+#: templates/js/translated/stock.js:2982
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2999
+#: templates/js/translated/stock.js:3003
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:3000
+#: templates/js/translated/stock.js:3004
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:3002
+#: templates/js/translated/stock.js:3006
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:3003
+#: templates/js/translated/stock.js:3007
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:3004
+#: templates/js/translated/stock.js:3008
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:3005
+#: templates/js/translated/stock.js:3009
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:3018
+#: templates/js/translated/stock.js:3022
msgid "Select part to install"
msgstr ""
@@ -12569,6 +12666,9 @@ msgstr "编辑项目权限"
msgid "Permission to delete items"
msgstr "删除项目权限"
+#~ msgid "stock items selected"
+#~ msgstr "已选择库存项"
+
#~ msgid "Extra build notes"
#~ msgstr "额外的生产备注"